我正在尝试制作聊天布局。问题是当我关注EditText时,会出现软键盘并将所有内容都推高。我希望它只使用发送指令推送底部部分,以便顶部(棕色)标题部分和带有消息的recyclerview仍然可见。 facebook messenger app有的东西。我试着把#34;调整锅,调整大小"和清单文件中的所有内容,但它没有工作。当没有任何焦点时,这是我的默认布局:
这是当我按下EditText并出现键盘并将所有内容移开时:
我再也看不到标题了,也没有在recyclerView中看到这条消息。
基本上我希望所有元素始终保持可见,因此当键盘按下时,用户仍然可以看到标题,消息和发送。
这是我的布局代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/ll_profile"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_alignParentTop="true"
android:layout_marginBottom="10dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/iv_profile"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/img_back" />
<TextView
android:id="@+id/tv_profile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="10dp" />
</LinearLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/ll_profile"
android:fillViewport="true"
android:isScrollContainer="false">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<View
android:id="@+id/view_line"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginEnd="10dp"
android:layout_marginStart="10dp"
android:background="@color/gray_light_trans" />
<LinearLayout
android:id="@+id/ll_send"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:weightSum="10">
<EditText
android:id="@+id/et_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="9"
android:hint="Message" />
<Button
android:id="@+id/btn_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Send" />
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_chat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/ll_send"
android:layout_below="@id/view_line" />
</RelativeLayout>
</android.support.v4.widget.NestedScrollView>
答案 0 :(得分:0)
在您的活动清单
中使用android:windowSoftInputMode =“stateHidden”答案 1 :(得分:0)
问题是我在我的App活动中使用全屏幕主题。当我从主基础主题中删除全屏时,它正在工作。