У меня есть CoordinatorLayout с тремя дочерними элементами: AppBarLayout, NestedScrollView и нижняя ViewGroup с кнопками.В NestedScrollView есть несколько TextInputLayouts.
Иногда, когда я нажимаю на один из TextInputLayouts, когда появляется клавиатура, нижняя ViewGroup частично закрывает поле ввода.Это связано с тем, что поведение прокрутки не может учитывать кнопки.
Я не могу ничего прокручивать вручную из-за настроек, я думаю.Я также не могу использовать insetEdge, потому что поля ввода не являются дочерними для CoordinatorLayout.И, наконец, я не уверен, как создать подкласс AppBarLayout.ScrollViewBehavior, чтобы эта работа работала.То, что я попробовал, не сработало.
Вот скелет моего макета:
<android.support.design.widget.AppBarLayout
android:fitsSystemWindows="true"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/ctbCreateCase"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:contentScrim="@color/medshr_color_primary"
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_collapseMode="parallax">
...
</android.support.constraint.ConstraintLayout>
<android.support.v7.widget.Toolbar
android:id="@+id/tbCreateCase"
android:layout_width="match_parent"
android:layout_height="wrap_content">
...
/>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/svCreateCase"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:clipToPadding="false"
android:scrollbarStyle="outsideOverlay"
android:scrollbars="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:descendantFocusability="beforeDescendants"
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="vertical">
<TextInputLayout
android:id="@+id/ilCreateCaseTitle"
style="@style/text_input_layout_style"
android:layout_alignParentLeft="true"/>
<TextInputLayout
android:id="@+id/ilCreateCaseDescription"
style="@style/text_input_layout_style"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/ilCreateCaseTitle"
android:layout_alignParentLeft="true"/>
</RelativeLayout>
</android.support.v4.widget.NestedScrollView>
<android.support.constraint.ConstraintLayout
android:id="@+id/llCreateCaseBottomButtons"
android:layout_gravity="bottom|end">
</android.support.constraint.ConstraintLayout>
</android.support.design.widget.CoordinatorLayout>