2010-06-10 60 views
1

我正在開發Android應用程序,但我仍然很新。我想要一個按鈕,當你按下這個按鈕時,會出現幾個TextViews和Buttons。所以我有一個主要的線性佈局,然後嵌入另一個線性佈局,裏面包含我想隱藏的東西。我有嵌套的線性佈局設置爲android:visibility =「gone」。嵌套線性佈局僅顯示在Android中設置爲可見後的第一個視圖

我遇到的問題是,它只顯示隱藏的線性佈局內的第一項而不是全部。我試圖讓它出現的方式是

vgAddView = (ViewGroup)findViewById(R.id.add_details); 

    btnAche.setOnClickListener(new OnClickListener(){ 
     public void onClick(View v){ 
      vgAddView.setVisibility(0); 
     } 
    }); 

我的XML文件是這樣的

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
<Button 
    android:text="@string/but_stomach_ache" 
    android:id="@+id/but_stomach_ache" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
</Button> 
<Button 
    android:text="@string/but_food" 
    android:id="@+id/but_food" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
</Button> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/add_details" 
    android:visibility="gone"> 
    <TextView 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:text="@string/when_happen"> 
     </TextView> 
    <Button 
     android:text="@string/happen_now" 
     android:id="@+id/happen_now" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 
     </Button> 
</LinearLayout> 
</LinearLayout> 

回答

4

TextViewLinearLayout設置爲android:layout_width="fill_parent"android:layout_height="fill_parent",這意味着它會佔用整個空間LinearLayout,留下Button沒有空間。如果您使用SDK附帶的hierarchyviewer工具,則可以在查看活動時看到。

您需要將TextView的高度設置爲wrap_content或以其他方式爲Button留出空間。

1

你喜歡低於其可見性設置爲true集後:

  • vgAddView.setVisibility(View.VISIBLE); - 顯示它
  • vgAddView.setVisibility(View.GONE); - 隱藏它
0

你先TextView中具有layout_width =「FILL_PARENT 」。 這意味着,你的TextView不會留下Button的空間。 您可以嘗試設置layout_weight屬性或將layout_width設置爲wrap_content

相關問題