web-dev-qa-db-ja.com

アクティビティ全体をその中のデータに従ってスクロール可能にする方法

いくつかのテキストビューを配置したLinearLayoutを試しました。私はすべてのビューに重みを完全に使用します。データの長さが長くなりすぎて、textviewに完全に表示されない場合、問題が発生します。私もtabletlayoutを試しましたが、最終的にtablelayoutは重みのある線形レイアウトの内側にあるため、それも機能しません。そのため、特定の制限を超えて大きくなることはありません。ウェイトを使用しながらすべてのデータを表示してアクティビティをスクロール可能にするにはどうすればよいか知りたいです。

アクティビティのxmlレイアウトでScrollviewを使用します。

:アクティビティのXMLコード:

<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:orientation="vertical"
    Android:padding="10dp"
    Android:fillViewport="false">

    <LinearLayout
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:orientation="vertical">
        <ImageView
            Android:id="@+id/imageView"
            Android:layout_width="wrap_content"
            Android:layout_height="200dp"
            Android:scaleType="centerCrop"
            Android:src="@drawable/image" />

        <Button
            Android:id="@+id/button"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:text="KNOW MORE" />

        <TextView
            Android:id="@+id/textView"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:text="@string/title"
            Android:textAppearance="?android:attr/textAppearanceLarge" />

        <TextView
            Android:id="@+id/textView2"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:text="@string/description"
            Android:textAppearance="?android:attr/textAppearanceSmall" />
    </LinearLayout>
</ScrollView>
6
Androider

スクロールビューは、相対レイアウトだけでなく線形レイアウトでも使用できます。

このコードを試すことができます。XMLファイルにコピーして貼り付けるだけです。あなたの答えを取得します:)

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

<RelativeLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="horizontal"
Android:background="@Android:color/black"
>

<TextView
    Android:id="@+id/TV_Welcome"
    Android:text="ADD YOUR VEHICLE"
    Android:layout_marginLeft="70dp"
    Android:layout_marginTop="10dp"
    Android:textSize="20dp"
    Android:layout_centerHorizontal="true"

    Android:textColor="@color/menu_color"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:gravity="center_vertical|center_horizontal"/>


<RelativeLayout
    Android:id="@+id/RelativeLayout01"
    Android:layout_below="@+id/TV_Welcome"
    Android:layout_margin="10dp"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content">


    <TextView
        Android:id="@+id/TV_BlockNo"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:text="Block No:"
        Android:textColor="@color/version_color"
        Android:layout_marginLeft="10dp"
        Android:textSize="15dp"
        Android:layout_alignParentLeft="true"
        Android:gravity="left"

        />

    <Spinner
        Android:id="@+id/Spinner_BlockNo"
        Android:layout_marginLeft="30dp"
        Android:layout_toRightOf="@+id/TV_BlockNo"
        Android:background="#558cff"
        Android:layout_width="300dp"
        Android:layout_height="wrap_content">

    </Spinner>
</RelativeLayout>

<RelativeLayout
    Android:id="@+id/RelativeLayout02"
    Android:layout_margin="10dp"
    Android:layout_below="@+id/RelativeLayout01"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content">

    <TextView
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:id="@+id/TV_FlatNo"
        Android:text="Flat NO:"
        Android:textSize="15dp"
        Android:layout_marginLeft="10dp"
        Android:textColor="@color/version_color"

        />

    <Spinner
        Android:id="@+id/Spinner_FlatNo"
        Android:layout_marginLeft="42dp"
        Android:layout_toRightOf="@+id/TV_FlatNo"
        Android:background="#558cff"
        Android:layout_width="300dp"

        Android:layout_height="wrap_content"></Spinner>

</RelativeLayout>

<RelativeLayout
    Android:id="@+id/RelativeLayout03"
    Android:layout_below="@+id/RelativeLayout02"
    Android:layout_margin="10dp"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content">


    <TextView
        Android:id="@+id/TV_VehicleNo"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:text="Vehicle No:"
        Android:textColor="@color/version_color"
        Android:layout_marginLeft="10dp"
        Android:textSize="15dp"
        Android:layout_alignParentLeft="true"
        Android:gravity="left"

        />

    <EditText
        Android:id="@+id/ET_VehicleNo"
        Android:layout_marginLeft="20dp"
        Android:hint="Enter Vehicle No"
        Android:textColorHint="@color/menu_glow"
        Android:textSize="20dp"
        Android:layout_toRightOf="@+id/TV_VehicleNo"
        Android:textColor="#558cff"
        Android:layout_width="400dp"
        Android:layout_height="wrap_content"

        />


</RelativeLayout>


<RelativeLayout
    Android:id="@+id/RelativeLayout04"
    Android:layout_margin="10dp"
    Android:layout_below="@+id/RelativeLayout03"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content">

    <TextView
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:id="@+id/TV_VehicleType"
        Android:text="Vehicle Type:"
        Android:textSize="15dp"
        Android:layout_marginLeft="10dp"
        Android:textColor="@color/version_color"

        />

    <Spinner
        Android:id="@+id/Spinner_VehicleType"
        Android:layout_marginLeft="10dp"
        Android:layout_toRightOf="@+id/TV_VehicleType"
        Android:background="#558cff"
        Android:layout_width="300dp"
        Android:layout_height="wrap_content">

    </Spinner>

</RelativeLayout>

<RelativeLayout
    Android:id="@+id/RelativeLayout05"
    Android:layout_margin="10dp"
    Android:layout_below="@id/RelativeLayout04"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content">
    <TextView
        Android:id="@+id/TV_OwnerName"
        Android:text="Owner Name:"
        Android:textSize="15dp"
        Android:textColor="@color/version_color"
        Android:layout_height="wrap_content"
        Android:layout_width="wrap_content"
        Android:layout_alignParentLeft="true"
        Android:gravity="left">
    </TextView>
    <EditText
        Android:id="@+id/ET_OwnerName"
        Android:hint="Enter Owner Name"
        Android:textColorHint="@color/menu_glow"
        Android:inputType="textPersonName"
        Android:layout_marginLeft="20dp"
        Android:textSize="20dp"
        Android:layout_toRightOf="@id/TV_OwnerName"
        Android:textColor="@color/version_color"
        Android:layout_height="wrap_content"
        Android:layout_width="400dp">
    </EditText>
</RelativeLayout>


<RelativeLayout
    Android:id="@+id/RelativeLayout06"
    Android:layout_margin="10dp"
    Android:layout_below="@id/RelativeLayout05"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content">
    <TextView
        Android:id="@+id/TV_MobileNo"
        Android:text="Mobile No:"
        Android:textSize="15dp"
        Android:textColor="@color/version_color"
        Android:layout_height="wrap_content"
        Android:layout_width="wrap_content"
        Android:layout_alignParentLeft="true"
        Android:gravity="left">
    </TextView>
    <EditText
        Android:id="@+id/ET_MobileNo"
        Android:layout_marginLeft="40dp"
        Android:hint="Enter 10 digit"
        Android:textColorHint="@color/menu_glow"
        Android:inputType="phone"
        Android:textSize="20dp"
        Android:layout_toRightOf="@id/TV_MobileNo"
        Android:textColor="@color/version_color"
        Android:layout_height="wrap_content"
        Android:layout_width="200dp"

        >
    </EditText>
</RelativeLayout>


<RelativeLayout
    Android:id="@+id/RelativeLayout07"
    Android:layout_margin="10dp"
    Android:layout_below="@id/RelativeLayout06"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content">
    <TextView
        Android:id="@+id/TV_TelNo"
        Android:text="Telephone No:"
        Android:textSize="15dp"
        Android:textColor="@color/version_color"
        Android:layout_height="wrap_content"
        Android:layout_width="wrap_content">
    </TextView>
    <EditText
        Android:id="@+id/ET_TelNo"
        Android:layout_marginLeft="20dp"
        Android:hint="Enter Telephone No"
        Android:textColorHint="@color/menu_glow"
        Android:inputType="number"
        Android:textSize="17dp"
        Android:layout_toRightOf="@id/TV_TelNo"
        Android:textColor="@color/version_color"
        Android:layout_height="wrap_content"
        Android:layout_width="wrap_content">
    </EditText>
</RelativeLayout>


<RelativeLayout
    Android:id="@+id/RelativeLayout08"
    Android:layout_margin="0dp"
    Android:layout_below="@id/RelativeLayout07"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content">
    <TextView
        Android:id="@+id/TV_Example"
        Android:text="(Example:0141-2206923)"
        Android:layout_marginLeft="120dp"
        Android:textSize="10dp"
        Android:textColor="@color/version_color"
        Android:layout_height="wrap_content"
        Android:layout_width="wrap_content">
    </TextView>
</RelativeLayout>

<ImageView
    Android:id="@+id/ImageView_Submit"
    Android:layout_marginTop="5dp"
    Android:layout_marginLeft="100dp"
    Android:layout_centerInParent="true"
    Android:layout_width="150dp"
    Android:layout_height="150dp"
    Android:src="@drawable/submit"
    Android:layout_below="@id/RelativeLayout08"
    Android:onClick="doSubmit"></ImageView>

    </RelativeLayout>
</ScrollView>
3
Gaurav Setia

ScrollViewを使用して、アクティビティをスクロール可能にすることができます。非常にシンプルで効果的に使用できます。ScrollViewのコードを下からコピーして、レイアウトxmlファイルに貼り付けるだけです。このScrollViewは、線形レイアウトおよび相対レイアウトでも使用できます。覚えておく必要があるのは、ScrollViewが持つことができる子ウィジェットは1つだけです。さらに多くの子が必要な場合は、それらを1つのコンテナーにラップします。

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

        <LinearLayout
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content">

            <ImageView
                Android:id="@+id/imageView1"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:src="@drawable/xyz.png"/>

        </LinearLayout>

        <LinearLayout
            Android:layout_width="fill_parent"
            Android:layout_height="fill_parent"
            Android:orientation="horizontal">

            <TextView
                Android:id="@+id/textView1"
                Android:layout_width="0dp"
                Android:layout_height="wrap_content"
                Android:layout_weight="1"
                Android:text="TextView1"/>

        </LinearLayout>

        <LinearLayout
            Android:layout_width="fill_parent"
            Android:layout_height="fill_parent"
            Android:orientation="horizontal">

            <TextView
                Android:id="@+id/textView2"
                Android:layout_width="0dp"
                Android:layout_height="wrap_content"
                Android:layout_weight="1"
                Android:text="TextView2"/>

            <TextView
                Android:id="@+id/textView3"
                Android:layout_width="0dp"
                Android:layout_height="wrap_content"
                Android:layout_weight="1"
                Android:text="TextView3"/>

            <TextView
                Android:id="@+id/textView4"
                Android:layout_width="0dp"
                Android:layout_height="wrap_content"
                Android:layout_weight="1"
                Android:text="TextView4"/>

        </LinearLayout>

        <LinearLayout
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content">

            <Button
                Android:id="@+id/btn_demo"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_gravity="center_horizontal"
                Android:text="Demo" />

        </LinearLayout>

    </LinearLayout>

</ScrollView>
1