web-dev-qa-db-ja.com

線形レイアウトをスクロール可能にする方法は?

こんにちは-必要なときに線形レイアウト全体をスクロール可能にすることは可能ですか? (レイアウトのすべての要素がメイン画面に収まらない場合)?

私はそれがビューなどでできることを知っていますが、同時にスクロール可能になるようにレイアウト上のすべてを組み込む方法はありますか?

多分スクロール可能というのは正しい用語ではないかもしれません...基本的に-要素の1つ(この場合はボタン)が完全に電話のメイン画面に表示されず、それにアクセスするために指を下にスライドする必要がある場合。 。それが理にかなっている場合。

25
Sapp

LinearLayoutはViewのサブクラスなので、Viewで実行できることはすべて、Linear Layoutで実行できます。

したがって、子として単一のLinearLayoutで ScrollView を使用するだけです

61
pheelicks

他の人が話していることを単に例示している

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android" 
    Android:layout_width="match_parent"
    Android:layout_height="match_parent">

    <LinearLayout
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        Android:gravity="center|left"
        Android:orientation="vertical" >

         Here is your layout!

    </LinearLayout>

</ScrollView>
29

はい、ScrollViewを使用してビュー全体をスクロール可能にすることができますが、メインの子を1つしか含めることができないため、ScrollView内に別のLinearViewビューを追加し、他のビューをこの中に配置する必要があります。

-メインビュー

-ScrollView

--- LinearView

----サブビュー1

----サブビュー2

----サブビュー3

....

10
Sharj

レイアウトをスクロール可能にすることができます。 <?xml version="1.0" encoding="utf-8"?>のすぐ下に次の行を追加します。

<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent">

最後に</ScrollView>を追加します

スクロールできないアクティビティの例:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:id="@+id/activity_main"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:orientation="vertical"
    Android:paddingBottom="@dimen/activity_vertical_margin"
    Android:paddingLeft="@dimen/activity_horizontal_margin"
    Android:paddingRight="@dimen/activity_horizontal_margin"
    Android:paddingTop="@dimen/activity_vertical_margin"
    Android:verticalScrollbarPosition="right"
    tools:context="p32929.demo.MainActivity">


    <TextView
        Android:text="TextView"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentTop="true"
        Android:layout_centerHorizontal="true"
        Android:layout_marginTop="102dp"
        Android:id="@+id/textView"
        Android:textSize="30sp" />
</RelativeLayout>

スクロール可能にすると、次のようになります。

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent">

    <RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
        xmlns:tools="http://schemas.Android.com/tools"
        Android:id="@+id/activity_main"
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        Android:orientation="vertical"
        Android:paddingBottom="@dimen/activity_vertical_margin"
        Android:paddingLeft="@dimen/activity_horizontal_margin"
        Android:paddingRight="@dimen/activity_horizontal_margin"
        Android:paddingTop="@dimen/activity_vertical_margin"
        Android:verticalScrollbarPosition="right"
        tools:context="p32929.demo.MainActivity">


        <TextView
            Android:id="@+id/textView"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_alignParentTop="true"
            Android:layout_centerHorizontal="true"
            Android:layout_marginTop="102dp"
            Android:text="TextView"
            Android:textSize="30sp" />
    </RelativeLayout>
</ScrollView>
2
p32929