web-dev-qa-db-ja.com

アクティビティ全体にスクロールビューを追加するにはどうすればよいですか?

アクティビティレイアウトのすべての周りにスクロールビューを追加しようとしましたが、1つのものの周りにしか配置できないというエラーが発生しました。

私のアクティビティには、タイトルテキストビュー、画像、説明テキストビューがあり、説明が長く、画面の端より下にあるため、説明全体を読むことができません。どうすればwhoelをスクロール可能にすることができますか?

私のxmlは次のようになります:

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


    <TextView
        Android:id="@+id/beerTitle"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        Android:ems="10"
        Android:textSize="40sp"
        Android:textStyle = "bold"
        >
    </TextView>

    <ImageView Android:id="@+id/image"
        Android:layout_height="wrap_content"
        Android:layout_width="fill_parent"
        Android:layout_margin="10dip"/>

    <Button
        Android:id="@+id/buttonBrewery"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:text="" />
    <Button
        Android:id="@+id/buttonStyle"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:text="" />

    <TextView
        Android:id="@+id/beerDEscriptionTitle"
        Android:textStyle = "bold"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        Android:ems="10"
        Android:textSize="20sp"
        Android:text="Description"
        ></TextView>
    <TextView
        Android:id="@+id/beerDescription"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        Android:ems="10"
        Android:textSize="15sp"

        ></TextView>

</LinearLayout>
7
Mike

これを試して:

<?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="wrap_content"
    Android:orientation="vertical" >

        <!-- TextView and other stuff -->

    </LinearLayout>
</ScrollView>
30
Math

LinearLayoutをラップします(高さはwrap_content)with SrollView(高さはfill_parent)。

2
Vit Khudenko

「1つのこと」はあなたのLinearLayoutです。それをScrollViewでラップするだけで、アクティビティ全体のレイアウトがカプセル化されます。

さらに、1つの要素だけをScrollViewでラップしたい場合は、その要素を線形または相対レイアウトなどの独自のレイアウトに配置するだけで、それがScrollViewの1つの要素になります。

0
Rarw

これを使うだけ

<?xml version="1.0" encoding="utf-8"?>
 <ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
        Android:id="@+id/scrollview"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content">
<LinearLayout 
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:orientation="vertical" >


    <TextView
        Android:id="@+id/beerTitle"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        Android:ems="10"
        Android:textSize="40sp"
        Android:textStyle = "bold"
        >
    </TextView>

    <ImageView Android:id="@+id/image"
        Android:layout_height="wrap_content"
        Android:layout_width="fill_parent"
        Android:layout_margin="10dip"/>

    <Button
        Android:id="@+id/buttonBrewery"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:text="" />
    <Button
        Android:id="@+id/buttonStyle"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:text="" />

    <TextView
        Android:id="@+id/beerDEscriptionTitle"
        Android:textStyle = "bold"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        Android:ems="10"
        Android:textSize="20sp"
        Android:text="Description"
        ></TextView>
    <TextView
        Android:id="@+id/beerDescription"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        Android:ems="10"
        Android:textSize="15sp"

        ></TextView>

</LinearLayout>
</ScrollView>
0
abhi