我的根布局是:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
layout="@layout/toolbar" />
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
内容FrameLayout被替换为此布局:
<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"
tools:ignore="UnusedAttribute">
<FrameLayout
android:id="@+id/messages"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_above="@+id/messageLayout">
<android.support.v7.widget.AppCompatTextView
android:id="@+id/emptyView"
android:text="@string/no_messages"
android:textSize="18sp"
android:textColor="?attr/colorPrimary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center"
android:visibility="gone"
tools:visibility="visible"/>
<af.kabuljan.android.ui.widget.EmptyRecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="4dp"
android:background="@color/md_indigo_100"/>
<ProgressBar
android:id="@+id/progressView"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:visibility="gone"
tools:visibility="visible"/>
</FrameLayout>
<RelativeLayout
android:id="@+id/messageLayout"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_alignParentBottom="true"
android:elevation="8dp">
<ImageView
android:id="@+id/btnAttach"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_attachment"
android:tint="@color/primary_dark"
android:padding="4dp"
android:layout_alignParentLeft="true"/>
<android.support.v7.widget.AppCompatEditText
android:id="@+id/message"
android:hint="@string/enterMessage"
android:textSize="18sp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_toRightOf="@+id/btnAttach"
android:layout_toLeftOf="@+id/btnSend"
android:background="#00000000"
android:inputType="textShortMessage|textAutoCorrect|textCapSentences|textMultiLine"
android:imeOptions="actionSend|flagNoEnterAction"
android:padding="4dp"
android:gravity="center_vertical"/>
<android.support.v7.widget.AppCompatButton
android:id="@+id/btnSend"
android:text="@string/send"
android:textColor="@android:color/white"
android:background="@drawable/send_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_margin="4dp"
app:elevation="4dp"/>
</RelativeLayout>
</RelativeLayout>
假设这是一个消息传递应用程序,此窗口有一个带有可以滚动的气泡消息的recyclerView,但底部输入应始终位于底部。问题是当我点击EditText时 - 软键盘总是重叠这个EditText。我应该怎么做才能调整整个容器(工具栏+ recyclerView +底部输入)的大小以在底部布置软键盘?
尝试adjustResize
- 没有结果。
我附上了2个截图。第1名 - 错误,第2名 - 正确。
答案 0 :(得分:0)
是的,您使用adjustResize
处于正确的轨道上,这就是您应该使用软键盘指定所需的活动布局行为。
您尝试了哪种设置,是否有任何影响?
文档在这里:https://developer.android.com/guide/topics/manifest/activity-element.html#wsoft