我在 View Pager 的页面中有这样的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black">
<LinearLayout
android:id="@+id/bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_alignParentTop="true"
android:orientation="horizontal"
android:gravity="center"
android:background="@drawable/background_gray">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:paddingLeft="3dp" />
</LinearLayout>
<RelativeLayout
android:id="@+id/container_chat_box"
android:background="@drawable/conversation_background_gray"
android:layout_alignParentBottom="true"
android:layout_marginBottom="50dp">
<EditText
android:id="@+id/chat_box"
style="@style/ConversationChatBox" />
</RelativeLayout>
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/bar"
android:background="@android:color/white"
android:stackFromBottom="true"
android:transcriptMode="normal"
android:layout_above="@id/chat_box"
android:paddingBottom="15dp"
android:clipToPadding="false"
android:divider="@null"
android:dividerHeight="0dp"
android:listSelector="@android:color/transparent" />
</RelativeLayout>
这是它的样子:
----------
[ bar ]
[list view]
[list view]
[list view]
[list view]
[edit text]
当我单击编辑文本时,我希望栏保持原位(在屏幕顶部),但列表视图要向上推,所以它看起来像:
------------
[ bar ]
[list view]
[list view]
[edit text]
[keyboard ]
我得到了什么(条被推高并消失):
------------
[list view]
[list view]
[list view]
[edit text]
[keyboard ]
我的 AndroidManifest 上有这个:
android:windowSoftInputMode="adjustPan"
我尝试了不同的设置值组合android:windowSoftInputMode
,但我要么让键盘出现覆盖编辑文本,要么将整个屏幕向上推。
有没有办法在列表视图被向上推时将栏保持在原位?先感谢您。