我在布局实施方面遇到了麻烦。每当我点击编辑文本时,软输入键盘就会出现并隐藏列表视图项目,我需要的是每当弹出软键盘并且列表视图的最后一项是可见的时,它应该被带到编辑文本的上方,如果它不可见,列表应保持原样(与whatsapp相同),继承我的布局代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bg_other" >
<include
android:id="@+id/actionbar_toolbar"
layout="@layout/toolbar" />
<ListView
android:id="@+id/lv_listView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/line_separator"
android:layout_below="@+id/actionbar_toolbar"
android:clipToPadding="false"
android:divider="@android:color/transparent"
android:dividerHeight="12dp"
android:paddingBottom="12dp"
android:scrollbars="none"
android:stackFromBottom="true" >
</ListView>
<View
android:id="@+id/line_separator"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_above="@+id/ll_editText"
android:background="#1F000000"/>
<LinearLayout
android:id="@+id/ll_editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
android:padding="8dp" >
<EditText
android:id="@+id/et_editText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:hint="@string/message_hint"
android:textCursorDrawable="@drawable/cursor_color"
android:maxLines="4" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:background="#1F000000"/>
<Button
android:id="@+id/btn_Button_send"
android:layout_width="48dp"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:text="@string/cherry_send"
android:textColor="@color/orange"
android:textSize="24sp"
android:background="@android:color/transparent" />
</LinearLayout>
<Button
android:id="@+id/btn_Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/ll_editText"
android:layout_alignParentRight="true"
android:layout_marginBottom="5dp"
android:layout_marginRight="5dp"
android:background="#A0000000"
android:paddingLeft="2dp"
android:paddingRight="2dp"
android:text="2 new messages"
android:textColor="@android:color/white"
android:textSize="14sp"
android:visibility="gone" />
</RelativeLayout>
我在我的活动清单中使用了window:softInputMode作为adjustResize,因为在某些情况下使用adjustPan会隐藏软键盘后面的editText。 请建议我如何实现这一目标。提前致谢
答案 0 :(得分:1)
得到解决方案......
mListView.setTransctiptMode(ListView.TRANSCRIPT_MODE_NORMAL);
做了诀窍:))
答案 1 :(得分:0)
尝试使用LinearLayou:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/lv_listView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:clipToPadding="false"
android:divider="@android:color/transparent"
android:dividerHeight="12dp"
android:paddingBottom="12dp"
android:scrollbars="none"
android:stackFromBottom="true" >
</ListView>
<View
android:id="@+id/line_separator"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="#1F000000" />
<LinearLayout
android:id="@+id/ll_editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="8dp" >
<EditText
android:id="@+id/et_editText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:hint="text"
android:maxLines="4" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:background="#1F000000" />
<Button
android:id="@+id/btn_Button_send"
android:layout_width="48dp"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:background="@android:color/transparent"
android:textSize="24sp" />
</LinearLayout>
<Button
android:id="@+id/btn_Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginRight="5dp"
android:background="#A0000000"
android:paddingLeft="2dp"
android:paddingRight="2dp"
android:text="2 new messages"
android:textColor="@android:color/white"
android:textSize="14sp"
android:visibility="gone" />
</LinearLayout>