私は画面上にたくさんの項目を持っています、そして私はユーザーがスクロールできるようにスクロールバーを使う必要があります。ただし、スクロールは表示されないか、機能していません。どのようにスクロールバーをLinearLayout
に追加することが可能ですか?
線形レイアウトを<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>
<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 - (外側のラッパー).
LinearLayout (child-1).
LinearLayout (child-1a).
LinearLayout (child-1b
Scrollviewは1人の子しか持てないので、その子は線形レイアウトです。その場合、他のすべてのレイアウトタイプは最初の線形レイアウトで発生します。私はまだ相対的なレイアウトを含めようとしませんでした、しかし、それらは私の実を動かすので私は私の正気が戻るまで待ちます。
これはタグ<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>
次の属性を使用してそれを線形レイアウトで囲む必要があります。
<LinearLayout ...>
<scrollView ...>
</scrollView>
</LinearLayout>
レイアウトファイルの最初の子として ScrollView を配置し、その中に線形レイアウトを配置する必要があります。今、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"`enter code here`>
<---------Content Here --------------->
</LinearLayout>
</ScrollView>
</LinearLayout>