チャット画面を開発しています。これは、ユーザープロファイル画像用のCollapsingToolbarLayout、メッセージリスト用のRecyclerView、およびメッセージを送信するための編集ボックスで構成されています。編集ボックスを下部の画面に固定して、画面の他の部分と一緒にスクロールできないようにすることができるかどうかわかりませんか?
CoordinatorLayoutを垂直のLinearLayoutでラップし、EditTextをCoordinatorLayoutの外に配置すると、ほぼ期待どおりの結果が得られました。ただし、この場合、キーボードの動作はRecyclerViewから切り離されています。キーボードを開いても、上下にスクロールしません。
EditTextをCoordinatorLayout内に配置しようとすると、画面からスクロールアウトしますが、設定する必要のある特別な動作があるかどうかわかりません。
私のレイアウト
<?xml version="1.0" encoding="utf-8"?>
<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:id="@+id/keyboard_listener"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical"
>
<Android.support.design.widget.CoordinatorLayout
Android:id="@+id/coordinator"
Android:layout_width="match_parent"
Android:layout_height="0dp"
Android:layout_weight="1"
>
<RecyclerView
Android:id="@Android:id/list"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:clickable="true"
Android:clipToPadding="false"
Android:focusableInTouchMode="true"
Android:paddingBottom="20dp"
Android:scrollbarStyle="outsideOverlay"
Android:scrollbars="vertical"
Android:transcriptMode="normal"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
/>
<Android.support.design.widget.AppBarLayout
Android:id="@+id/app_bar"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
>
<Android.support.design.widget.CollapsingToolbarLayout
Android:id="@+id/screen_toolbar_container"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
app:contentScrim="?attr/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"
app:titleEnabled="false"
>
<FrameLayout
Android:id="@+id/toolbar_fragment_container"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
/>
<Toolbar
Android:id="@+id/screen_toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:background="@Android:color/transparent"
Android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:layout_collapseMode="pin"
/>
</Android.support.design.widget.CollapsingToolbarLayout>
</Android.support.design.widget.AppBarLayout>
</Android.support.design.widget.CoordinatorLayout>
<EditText
Android:id="@+id/messageEditText"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:background="@null"
Android:hint="@string/send_hint"
Android:inputType="textCapSentences|textMultiLine"
Android:maxLength="2000"
Android:maxLines="4"
Android:padding="10dp"
Android:textSize="14sp"/>
</LinearLayout>
これを、floatingActionButtonのように、私の友人であるEditTextに追加します。
app:layout_anchor="@id/your bottom view id"
app:layout_anchorGravity="bottom|right|end"