Android使用软件键盘时的布局问题
这是我正在使用的布局的简化版本:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
android:id="@+id/scroll_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scrollbarStyle="insideOverlay" android:scrollbars="horizontal|vertical"
android:fadingEdgeLength="5dp" android:fadingEdge="horizontal|vertical" android:isScrollContainer="true">
<AbsoluteLayout android:layout_width="1000dp" android:layout_height="1000dp" android:background="#ff3344">
<EditText android:text="test" android:layout_x="50dp" android:layout_y="800dp" android:layout_height="wrap_content" android:layout_width="wrap_content"></EditText>
</AbsoluteLayout>
</ScrollView>
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="top"
android:gravity="center" android:visibility="visible" android:text="Text View" android:textColor="#FFFFFF"/>
</FrameLayout>
问题是,当单击 EditText 并显示键盘时,TextView 会被向上推出屏幕。我希望 TextView 保持原样,而 ScrollView 平移或调整大小。我已经在 Activity 上尝试了 adjustmentPan 和 adjustmentResize(对于 UI 来说,两者都可以)。 adjustmentResize 在我的 Gingerbread 设备上可以正常工作,但在我的 Froyo 设备上却不能。 adjustmentPan 对其中任何一个都不起作用。
Here is a simplified version of the layout I'm using:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
android:id="@+id/scroll_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scrollbarStyle="insideOverlay" android:scrollbars="horizontal|vertical"
android:fadingEdgeLength="5dp" android:fadingEdge="horizontal|vertical" android:isScrollContainer="true">
<AbsoluteLayout android:layout_width="1000dp" android:layout_height="1000dp" android:background="#ff3344">
<EditText android:text="test" android:layout_x="50dp" android:layout_y="800dp" android:layout_height="wrap_content" android:layout_width="wrap_content"></EditText>
</AbsoluteLayout>
</ScrollView>
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="top"
android:gravity="center" android:visibility="visible" android:text="Text View" android:textColor="#FFFFFF"/>
</FrameLayout>
The problem is that when the EditText is clicked and the keyboard is shown, the TextView gets pushed upwards out of the screen. I would like the TextView to stay put, and the ScrollView to either pan or resize. I have tried both adjustPan and adjustResize on the activity (either would be ok for the UI's sake). adjustResize WORKS correctly on my Gingerbread device, but not on my Froyo device. adjustPan doesn't work on either one of them.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我建议你将根布局更改为
RelativeLayout
,并将TextView
固定到底部。然后让ScrollView
从顶部展开到“TextView”。I suggest you change the root layout to
RelativeLayout
, and fix theTextView
to the bottom. Then letScrollView
expand from top to the 'TextView'.