ScrollView
とはどう違いNestedScrollView
ますか?両方とも、拡張しFrameLayout
ます。両方の長所と短所を詳しく知りたいです。
6 に答える
NestedScrollView
名前が示すように、別のスクロール ビュー内にスクロール ビューが必要な場合に使用されます。通常、システムはスクロールするビューを決定できないため、これを達成するのは困難です。
ここでNestedScrollView
出番です。
回答に記載されている利点以外に、ScrollView に対する NestedScrollView のもう 1 つの利点は、CoordinatorLayout との互換性です。ScrollView は CoordinatorLayout と連携しません。ツールバーの「画面外スクロール」動作を取得するには、NestedScrollView を使用する必要があります。
NestedScrollView
NestedScrollView は ScrollView と同じですが、Android の新旧両方のバージョンで、ネストされたスクロールの親と子の両方として機能することをサポートしています。ネストされたスクロールはデフォルトで有効になっています。
https://developer.android.com/reference/android/support/v4/widget/NestedScrollView.html
ScrollView
ユーザーがスクロールできるビュー階層のレイアウト コンテナーで、物理的な表示よりも大きくすることができます。ScrollView は FrameLayout です。つまり、スクロールするコンテンツ全体を含む子を 1 つ配置する必要があります。この子は、それ自体がオブジェクトの複雑な階層を持つレイアウト マネージャーである可能性があります
https://developer.android.com/reference/android/widget/ScrollView.html
NestedScrollView は ScrollView と同じですが、NestedScrollView では、RecyclerView などの他のスクロール ビューをその子として配置できます。
しかし、NestedScrollView 内に RecyclerView を配置すると、RecyclerView のスムーズなスクロールが妨げられます。スムーズなスクロールを元に戻すには、次のトリックがあります。
ViewCompat.setNestedScrollingEnabled(recyclerView, false);
recyclerView のアダプタを設定した後、上に置きます。