このようなNestedScrollViewを持つフラグメントでNonSwipeableViewPagerを実装します。スクロールビューが上にスクロールして2つのテキストビューを表示できることを期待しています。
<?xml version="1.0" encoding="utf-8"?>
<Android.support.v4.widget.NestedScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
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">
<RelativeLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<include
Android:id="@+id/header"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
layout="@layout/header" />
<ImageView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentBottom="true"
Android:layout_centerHorizontal="true"
Android:layout_marginBottom="16dp"
Android:src="@drawable/ic_up" />
</RelativeLayout>
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Text 1" />
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Text 2" />
</LinearLayout>
</Android.support.v4.widget.NestedScrollView>
しかし、それはスクロールできませんでした、私は多くの方法を試しましたが、それでも解決策は得られませんでした
<?xml version="1.0" encoding="utf-8"?>
<Android.support.v4.widget.NestedScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
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">
このlinearlayoutにはAndroid:layout_height="wrap_content"
が必要です。
その理由は、scrollviewの子がscrollview自体と同じサイズの場合(両方ともmatch_parent
の高さ)、同じサイズであり、scrollviewは画面の高さ。
Linearlayoutの高さがwrap_content
の場合、高さは画面の高さと関係がなく、スクロールビューは画面をスクロールできます。
Scrollviewには1つの直接の子しか持てず、その子にはAndroid:layout_height="wrap_content"
が必要であることを忘れないでください
私の場合、app:layout_behavior="@string/appbar_scrolling_view_behavior"
は、ある面の問題が試され、問題も解決する場合にのみ機能します。 Android:fillViewport="true"
も追加する必要がありますが、これがなければ私のコードは機能します。
<Android.support.v4.widget.NestedScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:fillViewport="true"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:background="@drawable/subscription_background"
app:layout_behavior="@string/appbar_scrolling_view_behavior">