linearlayout не отображается должным образом - PullRequest
1 голос
/ 10 января 2012

Я создал этот основной файл XML в своем проекте. Я проанализировал XML-файл и отобразил его динамически в линейном формате1. Но linearlayout2 не отображается в моем результате. Помогите мне, пожалуйста. Это мой основной файл XML. Я использую один XML-файл для отображения своих виджетов

<?xml version="1.0" encoding="utf-8"?>
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/layout1"
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:layout_alignParentBottom="true"
            android:orientation="vertical" >
            <ScrollView
                android:id="@+id/scrollView1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:fillViewport="true" >
                <LinearLayout
                    android:id="@+id/linearLayout1"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_alignParentBottom="true"
                    android:orientation="vertical" >
                </LinearLayout>
            </ScrollView>
            <LinearLayout
                android:id="@+id/linearlayout2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:gravity="bottom"
                android:orientation="horizontal" >
                <Button
                    android:id="@+id/button2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:layout_alignParentLeft="true"
                    android:layout_weight="1"
                    android:gravity="bottom"
                    android:text="Signature" />
                <Button
                    android:id="@+id/button1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:layout_marginLeft="30dp"
                    android:layout_toRightOf="@+id/button2"
                    android:layout_weight="1"
                    android:gravity="bottom"
                    android:text="Submit" />
            </LinearLayout>
        </LinearLayout>

Ответы [ 3 ]

1 голос
/ 10 января 2012

скопируйте и вставьте этот макет, изменив его, добавив layout_weight в виде прокрутки и linearlayout2, чтобы равномерно распределить экран.Надеюсь, что он соответствует вашим требованиям.

<?xml version="1.0" encoding="utf-8"?>
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/layout1"
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:layout_alignParentBottom="true"
            android:orientation="vertical" >
            <ScrollView
                android:id="@+id/scrollView1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:fillViewport="true"
                android:layout_weight="1" >
                <LinearLayout
                    android:id="@+id/linearLayout1"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_alignParentBottom="true"
                    android:orientation="vertical" >
                </LinearLayout>
            </ScrollView>
            <LinearLayout
                android:id="@+id/linearlayout2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:gravity="bottom"
                android:orientation="horizontal"
                android:layout_weight="1" >
                <Button
                    android:id="@+id/button2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:layout_alignParentLeft="true"
                    android:layout_weight="1"
                    android:gravity="bottom"
                    android:text="Signature" />
                <Button
                    android:id="@+id/button1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:layout_marginLeft="30dp"
                    android:layout_toRightOf="@+id/button2"
                    android:layout_weight="1"
                    android:gravity="bottom"
                    android:text="Submit" />
            </LinearLayout>
        </LinearLayout>
1 голос
/ 10 января 2012

Лучше использовать относительную компоновку для вашей проблемы.

0 голосов
/ 10 января 2012

Я думаю, что это легко решить:

Ваш ScrollView определяет высоту макета как «wrap-content», это означает «дети могут занять все необходимое пространство». но у первого ребенка вы определяете высоту как "match_parent". это означает «мне нужно больше места, сколько я могу достать».

Чтобы решить эту проблему, просто укажите высоту линейного макета в ScrollView. «0dip» и установите layout_weight на «1».

...