我正在使用一个简单的HelloWorld应用程序来掌握一些东西。该应用程序有一个简单的TextView嵌套线性布局,通过EditText和Send按钮填充大部分布局。每当输入文本并且"发送"单击,它将文本作为新行添加到TextView。到目前为止,其他一切工作正常,但每当键盘弹出开始输入文本时,上面的TextView也会被推高。我希望TextView保持原位,只需在布局中调整大小。
图片1:https://flic.kr/p/pRHo4j 图2:https://flic.kr/p/pRQg7i
谢谢, pbcrazy
XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView android:id="@+id/display_message"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:freezesText="true" />
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<EditText android:id="@+id/edit_message"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/edit_message" />
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
android:onClick="sendMessage" />
</LinearLayout>
</LinearLayout>
答案 0 :(得分:0)
之前我也遇到过这个问题。而且有趣的是我也在使用LinearLayout。 如果你想控制事物的运动,尝试使用相对布局。(或让它们保持不变)
答案 1 :(得分:0)
在Android Manifest的活动代码
中添加以下属性<activity
...
android:windowSoftInputMode="adjustResize"
/>