在EditText中输入文本时TextView会移动

时间:2014-11-21 19:24:43

标签: android xml layout

我正在使用一个简单的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>

2 个答案:

答案 0 :(得分:0)

之前我也遇到过这个问题。而且有趣的是我也在使用LinearLayout。 如果你想控制事物的运动,尝试使用相对布局。(或让它们保持不变)

答案 1 :(得分:0)

在Android Manifest的活动代码

中添加以下属性
<activity
...
android:windowSoftInputMode="adjustResize"
/>