我的TextView中的RelativeLayout,它工作正常不正确的布局:当键盘显示
<TextView
android:id="@+id/tv_client_in"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/tv_label_client_out"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/tv_label_client_in"
android:background="@drawable/border"
android:ems="10" />
现在我需要把这个TextView的内部滚动型:在此之后改变布局看起来OK
<ScrollView android:id="@+id/sv_client_in"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_above="@+id/tv_label_client_out"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/tv_label_client_in"
android:background="@drawable/border"
android:fillViewport="true"
>
<TextView
android:id="@+id/tv_client_in"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ems="10"
/>
</ScrollView>
(第一张图片),但是当显示键盘时,它会被损坏(第二张图片)。我怎样才能解决这个问题?
完整布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/tv_label_client_host"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginTop="20dp"
android:ems="10"
android:text="@string/label_host" />
<EditText
android:id="@+id/et_client_host"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/tv_label_client_host"
android:ems="10"
android:inputType="text"
android:lines="1" />
<TextView
android:id="@+id/tv_label_client_port"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/et_client_host"
android:ems="10"
android:text="@string/label_port" />
<EditText
android:id="@+id/et_client_port"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/tv_label_client_port"
android:ems="10"
android:inputType="number"
android:lines="1" />
<ScrollView android:id="@+id/sv_client_in"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_above="@+id/tv_label_client_out"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/tv_label_client_in"
android:background="@drawable/border"
android:fillViewport="true"
>
<TextView
android:id="@+id/tv_client_in"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ems="10"
/>
</ScrollView>
<Button
android:id="@+id/btn_client_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="@string/btn_send"
android:onClick="OnBtnSendClick"
/>
<TextView
android:id="@+id/tv_label_client_out"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/btn_client_send"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:ems="10"
android:text="@string/label_client_out" />
<EditText
android:id="@+id/et_client_out"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/btn_client_send"
android:ems="10"
android:inputType="text"
android:lines="1" />
<Button
android:id="@+id/btn_client_clear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/et_client_port"
android:text="@string/btn_client_clear"
android:onClick="OnBtnClearClick"
/>
<Button
android:id="@+id/btn_client_disconnect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/et_client_port"
android:text="@string/btn_client_disconnect"
android:onClick="OnBtnDisconnectClick"
/>
<Button
android:id="@+id/btn_client_connect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/et_client_port"
android:layout_toLeftOf="@+id/btn_client_disconnect"
android:text="@string/btn_client_connect"
android:onClick="OnBtnConnectClick"
/>
<TextView
android:id="@+id/tv_label_client_in"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/btn_client_connect"
android:ems="10"
android:text="@string/label_client_in"
/>
</RelativeLayout>
你的清单中是否使用了android:windowSoftInputMode =“adjustPan”attirubte? – tomas
@tomas:我尝试adjustResize和adjustPan,结果相同。 –
你尝试没有任何属性windowSoftInputMode? – tomas