私のアクティビティには、次のようなレイアウトがあります。
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="10dip"
android:paddingRight="10dip">
<EditText
android:id="@+id/noteBodyEdit"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:inputType="textCapSentences|textMultiLine"
android:overScrollMode="always"
android:scrollbarStyle="insideInset"
android:scrollbars="vertical" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.v7.widget.CardView>
このビューはコンテンツ ビューとして CoordinatorLayout に含まれ、ツールバーを備えた標準の AppbarLayout が追加されます。
このコードでは、Scrollview と EditText ですべてのコンテンツ ビューを埋める必要があります。ただし、この形式では、wrap_content 動作で終了します。
コードを変更し、layout_behavior を CardView から Scrollview に移動すると、fillportview の問題は修正されますが、コンテンツはツールバーによって部分的に覆われます。
いずれかの方法でこれを解決する方法についてのアイデア:
- CardView の動作を使用し、ScrollView をストレッチしてビューポートを埋める
- または、ScrollView の動作を使用してツールバーの下に表示します。