1

SOで同様の回答を見てきましたが、うまくいきませんでした。次のレイアウトは最適ではない可能性があります (私は全くの初心者なので間違いを指摘してください)。

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent" android:rowCount="3" android:columnCount="1" android:padding="0dp"
              android:background="#ebe0cf">

    <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" android:layout_row="0" android:layout_column="0"
            android:background="#ebe0cf" android:layout_marginTop="5dp">
        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Book Name"
                android:id="@+id/textView" android:layout_gravity="center_horizontal" android:textSize="30dp"
                android:textStyle="bold"/>
        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Chapter Name"
                android:id="@+id/textView1" android:textSize="13dp" android:layout_gravity="center_horizontal"
                android:layout_marginTop="-3dp"/>
    </LinearLayout>


    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."
              android:id="@+id/textView4" android:padding="5dp" android:background="#ffffff"
              android:layout_margin="10dp"
            android:scrollbars="vertical"/>

    <LinearLayout
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" android:layout_row="2" android:layout_column="0"
            android:background="#ebe0cf">
        <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Prev"
                android:id="@+id/button"/>
        <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Next"
                android:id="@+id/button1"/>
        <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Language"
                android:id="@+id/button2"/>
    </LinearLayout>
</GridLayout>

何が起こっているかというと、TextView に十分な長さのテキストがあり、ボタンがページから押し出されると、ボタンを下部に固定し、TextView がスクロールを開始するようにしたいのです... ScollView 内に配置してみました。同じことが起こりました。

シンプルにしたいので、相対配置などはなるべく避けたいところです。

4

1 に答える 1

0

LinearLayout に weightSum (任意の数値) を指定し、その子 Views にその合計になる layout_weight を指定すると、これらの重みが合計のパーセンテージとして使用されます。

したがって、ボタンを にすることができlayout_weight="1" 、ScrollView を にすることができますlayout_weight="9"。LinearLayout に がある場合、weightSum="10"90% が ScrollView で 10% がボタンになります。

重みは整数である必要はありません。重みは 5.5 にすることができます。

ああ、これは非常に重要です。子ビューの layout_height を 0dp に設定します (LinearLayout の向きが Vertical であると仮定します)。*実際の高さは重みで決まります。

于 2013-10-31T22:50:41.080 に答える