0

我有三個子線性排列RelativeLayout。我隱藏並在同一RelativeLayout下以編程方式顯示所有三種佈局。隱藏/顯示佈局困難

在所有以上三個子線性排列中,第一個Linearlayout的內容與其他兩個相比較大。所以當我展示第二個LinearLayout時,它也佔據了第一個空間LinearLayout

我想在顯示第二個LinearLayout的時候刪除FirstLinear Layout佔用的空間。

更好地瞭解我粘貼下面

<?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> 

我的XML佈局請專家幫助我..

+0

你想做什麼? – WhiskThimble

+0

我想在顯示第二個LinearLayout的時候刪除FirstLinear Layout佔用的空間。 –

+0

您是否嘗試過使用除了RelativeLayout以外的其他基礎ViewGroup? – invertigo

回答

0

謝謝你們的迴應。 我不敢相信,我犯我的.java一個愚蠢的錯誤我使版面setVisibility財產INVISIBLE而不是GONE我很抱歉的傢伙。接受我的答案。 和Thanx再次幫助我。 :)

0

當使用RelativeLayout的,你需要一些額外的屬性添加到孩子告訴Android的你想怎麼他們擺放。你有兩種可能的選擇:RelativeLayout和LinearLayout;

的RelativeLayout

請注意,我已經錯過了你的簡潔其他屬性,但他們仍然應該包括在內。關鍵部分是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

另一種選擇就是使用的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>