0
我正在聊天屏幕上工作,並使用RecyclerView顯示聊天消息。我需要在回收站視圖頂部顯示一條備註消息,當聊天列表滾動時,將滾動屏幕。這是我使用的佈局。使用協調器佈局在LinearLayout底部添加布局的問題
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_alignParentTop="true"
android:background="@color/color_toolbar_background"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:contentInsetEnd="0dp"
app:contentInsetLeft="0dp"
app:contentInsetRight="0dp"
app:contentInsetStart="0dp"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
<ImageView
android:id="@+id/imageViewBack"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/dimen_16dp"
android:src="@drawable/ic_back_black"/>
<TextView
android:id="@+id/textViewTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:gravity="center"
android:text="Title"
android:textColor="@color/color_black_text"
android:textSize="@dimen/dimen_17sp"/>
</android.support.v7.widget.Toolbar>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dimen_0dp"
android:layout_weight="1">
<android.support.design.widget.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/color_white"
android:elevation="@dimen/dimen_0dp"
android:visibility="visible"
app:elevation="@dimen/dimen_0dp"
tools:visibility="visible">
<!-- Layout that should scroll off the screen-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#EE9F06"
android:orientation="vertical"
android:padding="@dimen/dimen_16dp"
app:layout_scrollFlags="scroll|enterAlwaysCollapsed">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="lorem ipsum dolor set amet lorem ipsum dolor set amet."
android:textColor="@color/color_white"
android:textSize="@dimen/dimen_12sp"/>
</LinearLayout>
<!-- Progress bar to shown while loding previous messages -->
<include
layout="@layout/layout_load_more_progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/appBarLayout"
android:layout_gravity="center"
android:visibility="gone"
tools:visibility="visible"/>
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerViewChat"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:overScrollMode="never"
android:scrollbars="none"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</android.support.design.widget.CoordinatorLayout>
<!-- layout for sending message should be at bottom-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/color_toolbar_background"
android:orientation="horizontal">
<EditText
android:id="@+id/editTextMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="@dimen/dimen_10dp"
android:layout_marginLeft="@dimen/dimen_16dp"
android:layout_marginTop="@dimen/dimen_10dp"
android:layout_weight="1"
android:background="@drawable/drawable_chat_send_message_background"
android:hint="@string/string_hint_send_message"
android:inputType="textMultiLine|textNoSuggestions"
android:minHeight="@dimen/dimen_32dp"
android:paddingLeft="@dimen/dimen_5dp"
android:paddingRight="@dimen/dimen_5dp"
android:textColorHint="@color/color_chat_send_message_border"
android:textSize="@dimen/dimen_17sp"/>
<TextView
android:id="@+id/textViewSend"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:clickable="true"
android:padding="@dimen/dimen_16dp"
android:text="@string/string_send"
android:textColor="@color/color_accent"
android:textSize="@dimen/dimen_17sp"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<!--Progress bar occupying complete screen below Toolbar -->
<include
layout="@layout/layout_progress_bar_full_screen"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"
tools:visibility="visible"/>
</RelativeLayout></LinearLayout>
我的問題是來自聊天的最後一條消息被隱藏在發送消息佈局後面。我需要滾動回收站視圖才能看到最後一條消息。我使用com.android.support:design:23.2.0。我還爲回收視圖設置了linearLayoutManager.setStackFromEnd(true)。 那麼我應該如何避免發送消息佈局隱藏最後一條消息?