当我录制视频时,我正在寻找一种更好的方式来显示类似Whastapp的键盘。我向您展示了一些我想要得到的图片以及我的问题所在:
Before to make click in EditText in my app
我正在寻找一种方法,当键盘打开时,将所有元素保留在同一位置,但是调用键盘的EditText将位于其上方。有想法吗?
谢谢。
使用我的xml代码的一部分进行编辑:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/flMain"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextureView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/surface_view" />
<android.support.v7.widget.CardView
style="@style/CardViewTheme"
android:id="@+id/cardViewMessage"
android:layout_width="match_parent"
android:minHeight="50dp"
android:layout_gravity="right|bottom"
android:layout_marginLeft="4dp"
android:layout_marginRight="56dp"
android:layout_marginBottom="4dp"
android:translationZ="1dp"
android:visibility="gone"
app:cardCornerRadius="20dp">
<LinearLayout
android:id="@+id/layoutMessage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<EditText
android:id="@+id/txtMessage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="6dp"
android:layout_marginStart="6dp"
android:layout_marginTop="6dp"
android:layout_marginBottom="6dp"
android:layout_weight="1"
android:background="@null"
android:hint="Type a message"
android:imeOptions="actionSend"
android:inputType="textCapSentences|textMultiLine"
android:maxLines="6"
android:scrollbars="vertical"
android:textColorHint="#B3A8A8A8" />
</LinearLayout>
</android.support.v7.widget.CardView>
</FrameLayout>
答案 0 :(得分:0)
您需要将windowSoftInputMode
设置为adjustPan
。
<activity android:windowSoftInputMode="adjustResize">
adjustPan
活动的主窗口未调整大小以为软键盘腾出空间。而是,窗口的内容会自动平移,以使当前焦点不会被键盘遮挡,并且用户始终可以看到他们正在键入的内容。通常,这不如调整大小那么可取,因为用户可能需要关闭软键盘才能到达窗口并与模糊的部分进行交互。