[英]Hide/show Layout difficulties
我有RelativeLayout
三個subLinearlayout。 我在同一RelativeLayout
下以編程方式隱藏和顯示所有三個布局。
在所有上述三個subLinearlayout中,與其他兩個相比,第一個Linearlayout
內容要大。 因此,當我顯示第二個LinearLayout
它也會占用第一個LinearLayout
空間。
我想在顯示第二個LinearLayout時刪除FirstLinear Layout的占用空間。
為了更好地理解,我在下面粘貼了我的xml布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white" >
<!-- ATC/TCAS/AIRSPACE -->
<LinearLayout
android:id="@+id/atcTypeLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:orientation="horizontal"
android:visibility="gone" >
<include
android:id="@+id/atcType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
layout="@layout/atc_incident_type" />
</LinearLayout>
<!-- Evacuation -->
<LinearLayout
android:id="@+id/mainEvoccutionLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:orientation="horizontal"
android:visibility="gone" >
<LinearLayout
android:id="@+id/evocutionLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Emergencies /Evacuation"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@android:color/black"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/editable"
android:text="Details "
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@android:color/black"
android:textStyle="bold" />
<!-- Dyanmic check Box -->
</LinearLayout>
<LinearLayout
android:id="@+id/secEvoLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="100dp"
android:layout_marginTop="25dp"
android:orientation="vertical" >
<!-- Dyanmic check Box -->
</LinearLayout>
</LinearLayout>
<!-- Evolution layout over and start of collision near miss -->
<LinearLayout
android:id="@+id/collisionNearLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:orientation="vertical"
android:visibility="gone" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/editable"
android:text="Collision/Near Miss "
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@android:color/black"
android:textStyle="bold" />
<!-- dynamic creation of check box -->
</LinearLayout>
</RelativeLayout>
請大家幫我..
使用RelativeLayout時,您需要向子級添加一些其他屬性,以告訴Android您希望它們如何布局。 您有兩個可能的選項,RelativeLayout和LinearLayout。
請注意,為簡潔起見,我已經省略了您的其他屬性,但仍應包括在內。 關鍵部分是android:layout_below
屬性。 如果您不包括它們,則視圖將如已觀察到的那樣彼此重疊。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white" >
<LinearLayout
android:id="@+id/atcTypeLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
...
</LinearLayout>
<LinearLayout
android:id="@+id/mainEvoccutionLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/atcTypeLinear" >
...
</LinearLayout>
<LinearLayout
android:id="@+id/collisionNearLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/mainEvoccutionLinear" >
...
</LinearLayout>
</RelativeLayout>
另一個選擇是僅使用LinearLayout作為父級。
<?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="wrap_content"
android:background="@android:color/white" >
<LinearLayout
android:id="@+id/atcTypeLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
...
</LinearLayout>
<LinearLayout
android:id="@+id/mainEvoccutionLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
...
</LinearLayout>
<LinearLayout
android:id="@+id/collisionNearLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
...
</LinearLayout>
</LinearLayout>
謝謝你們的回應。 我無法相信,我在.java
犯了一個愚蠢的錯誤,我將布局setVisibility
屬性設置為INVISIBLE
而不是GONE
對不起,各位。 對於接受我的答案。 再次感謝Thanx的幫助。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.