回答:
線形レイアウトを <ScrollView>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- Content here -->
</LinearLayout>
</ScrollView>
</LinearLayout>
注:fill_parentは廃止され、APIレベル8 以降ではmatch_parentに名前が変更されました。
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/container"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</LinearLayout>
</ScrollView>
これは、タグを使用して行うことができます<ScrollView>
。ScrollView、一つのことは、あなたがそれを思い出させるために持っている、ScrollViewは、単一の子供を持っている必要があります。
レイアウト全体をスクロール可能にする場合<ScrollView>
は、上部に追加します。以下の例を確認してください。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- Content here -->
</LinearLayout>
</ScrollView>
ただし、レイアウトの一部をスクロール可能にする<ScrollView>
場合は、その部分に追加します。以下の例を確認してください。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="400dp">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- Content here -->
</LinearLayout>
</ScrollView>
</LinearLayout>
試行錯誤を繰り返したのがこちらです。
ScrollView - (the outer wrapper).
LinearLayout (child-1).
LinearLayout (child-1a).
LinearLayout (child-1b).
ScrollViewは子を1つしか持つことができないため、その子は線形レイアウトです。次に、他のすべてのレイアウトタイプが最初の線形レイアウトで発生します。私はまだ相対レイアウトを含めようとしませんでしたが、それらは私を狂わせるので、正気が戻るまで待ちます。
次の属性を使用し、線形レイアウトで囲む必要があります
<LinearLayout ...>
<scrollView ...>
</scrollView>
</LinearLayout>
ScrollViewをレイアウトファイルの最初の子として配置し、linearlayoutをその中に配置する必要があります。これで、Androidはコンテンツと利用可能なデバイスサイズに基づいて、スクロール可能なアイテムを表示するかどうかを決定します。
ScrollViewは複数の子を持つことができないため、linearlayoutに兄弟がないことを確認してください。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<---------Content Here --------------->
</LinearLayout>
</ScrollView>
</LinearLayout>
あなたはlinearLayoutに属性を追加できます: android:scrollbars="vertical"