linearLayout中的relativeLayout

时间:2015-06-22 12:23:26

标签: android android-linearlayout relativelayout

我有一个线性布局,里面有3个不同的相对布局。我想将3个等于这个根线性布局的部分分开。我在线性布局中将权重和设置为3并设置为0每个亲戚的宽度。但是当我隐藏其中一个亲戚时,其他两个不按预期居中。这是xml代码`

            <RelativeLayout
                android:id="@+id/OffertaBassa"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:visibility="visible" >

                <TextView
                    android:id="@+id/offertaPiuBassa"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentTop="true"
                    android:layout_centerInParent="true"
                    android:layout_gravity="top|center"
                    android:layout_margin="5dp"
                    android:gravity="center"
                    android:text="@string/scheda_dettaglio_richiesta_offerta_migliore"
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:textColor="@color/macingo_gabriele_testo"
                    android:textSize="12dp"
                    android:visibility="visible" />

                <TextView
                    android:id="@+id/PrezzoBasso"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/offertaPiuBassa"
                    android:layout_centerInParent="true"
                    android:layout_gravity="center_vertical|center_horizontal|top"
                    android:gravity="center"
                    android:text="€"
                    android:textColor="@color/macingo_drawer_listItem_selected"
                    android:textSize="18sp"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/ivaEsclusaLabel"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/PrezzoBasso"
                    android:layout_centerInParent="true"
                    android:layout_gravity="center_vertical|center_horizontal|top"
                    android:text="IVA esclusa"
                    android:textColor="@color/macingo_card_text_light"
                    android:textSize="10sp"
                    android:textStyle="bold" />
            </RelativeLayout>

            <RelativeLayout
                android:id="@+id/NumeroPreventivi"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:visibility="visible" >

                <TextView
                    android:id="@+id/preventiviRicevuti"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentTop="true"
                    android:layout_centerInParent="true"
                    android:layout_gravity="top|center"
                    android:layout_margin="5dp"
                    android:gravity="center"
                    android:text="@string/scheda_dettaglio_richiesta_preventivi_ricevuti"
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:textColor="@color/macingo_gabriele_testo"
                    android:textSize="12dp"
                    android:visibility="visible" />

                <TextView
                    android:id="@+id/numeroPreventivi"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/preventiviRicevuti"
                    android:layout_centerInParent="true"
                    android:layout_gravity="center_vertical|center_horizontal|top"
                    android:text="N°"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="@color/macingo_card_text"
                    android:textSize="18sp"
                    android:textStyle="bold" />
            </RelativeLayout>

            <RelativeLayout
                android:id="@+id/prezzoriferimento"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:visibility="visible" >

                <TextView
                    android:id="@+id/prezzoRiferimento"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentTop="true"
                    android:layout_centerInParent="true"
                    android:layout_gravity="top|center"
                    android:layout_margin="5dp"
                    android:gravity="center"
                    android:text="@string/scheda_dettaglio_richiesta_prezzo_riferimento"
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:textColor="@color/macingo_gabriele_testo"
                    android:textSize="12sp"
                    android:visibility="visible" />

                <TextView
                    android:id="@+id/prezzoDiriferimento"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/prezzoRiferimento"
                    android:layout_centerInParent="true"
                    android:layout_gravity="center_vertical|center_horizontal|top"
                    android:text="€"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="@color/macingo_card_text"
                    android:textSize="18sp"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/TextView1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/prezzoDiriferimento"
                    android:layout_centerInParent="true"
                    android:layout_gravity="center_vertical|center_horizontal|top"
                    android:text="IVA esclusa"
                    android:textColor="@color/macingo_card_text_light"
                    android:textSize="10sp"
                    android:textStyle="bold" />

            </RelativeLayout>
        </LinearLayout>`

我如何解决这种情况?我试图设定引力但没有结果。 感谢

2 个答案:

答案 0 :(得分:0)

你可以这样做。

请仔细阅读本准则。

<?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:gravity="center_horizontal"
    android:orientation="vertical"
    android:weightSum="3" >

    <RelativeLayout
        android:id="@+id/OffertaBassa"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:visibility="visible" >

        <TextView
            android:id="@+id/offertaPiuBassa"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_centerInParent="true"
            android:layout_gravity="top|center"
            android:layout_margin="5dp"
            android:gravity="center"
            android:text="scheda_dettaglio_richiesta_offerta_migliore"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="#000000"
            android:textSize="12dp"
            android:visibility="visible" />

        <TextView
            android:id="@+id/PrezzoBasso"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/offertaPiuBassa"
            android:layout_centerInParent="true"
            android:layout_gravity="center_vertical|center_horizontal|top"
            android:gravity="center"
            android:text="€"
            android:textColor="#000000"
            android:textSize="18sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/ivaEsclusaLabel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/PrezzoBasso"
            android:layout_centerInParent="true"
            android:layout_gravity="center_vertical|center_horizontal|top"
            android:text="IVA esclusa"
            android:textColor="#000000"
            android:textSize="10sp"
            android:textStyle="bold" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/NumeroPreventivi"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:visibility="visible" >

        <TextView
            android:id="@+id/preventiviRicevuti"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerInParent="true"
            android:layout_gravity="top|center"
            android:layout_margin="5dp"
            android:gravity="center"
            android:text="scheda_dettaglio_richiesta_preventivi_ricevuti"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="#000000"
            android:textSize="12dp"
            android:visibility="visible" />

        <TextView
            android:id="@+id/numeroPreventivi"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/preventiviRicevuti"
            android:layout_centerInParent="true"
            android:layout_gravity="center_vertical|center_horizontal|top"
            android:text="N°"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#000000"
            android:textSize="18sp"
            android:textStyle="bold" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/prezzoriferimento"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:visibility="visible" >

        <TextView
            android:id="@+id/prezzoRiferimento"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_centerInParent="true"
            android:layout_gravity="top|center"
            android:layout_margin="5dp"
            android:gravity="center"
            android:text="scheda_dettaglio_richiesta_prezzo_riferimento"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="#000000"
            android:textSize="12sp"
            android:visibility="visible" />

        <TextView
            android:id="@+id/prezzoDiriferimento"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/prezzoRiferimento"
            android:layout_centerInParent="true"
            android:layout_gravity="center_vertical|center_horizontal|top"
            android:text="€"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#000000"
            android:textSize="18sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/TextView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/prezzoDiriferimento"
            android:layout_centerInParent="true"
            android:layout_gravity="center_vertical|center_horizontal|top"
            android:text="IVA esclusa"
            android:textColor="#000000"
            android:textSize="10sp"
            android:textStyle="bold" />
    </RelativeLayout>

</LinearLayout>

答案 1 :(得分:-1)

你必须看到相对布局的可见性。

NumeroPreventivi.setVisibility(View.GONE);

让你的可见性消失或相对布局不可见?因为如果你对布局的可见性消失了,那么它的工作就完美了,如果你看不见的可见性,那么这个布局就存在了。我的意思是这个布局占用了布局区域。

在运行时,您必须更改布局的权重总和。