2012-02-10 28 views
1

我想要做的是在按下按鈕時在「2」(第二個LinearLayout)的頂部顯示「框架」(或新佈局)。我應該怎麼做?如果按鈕沒有按下,預先製作並使其隱藏起來?Android:將東西放在線性佈局上

我有這種類型的佈局:

layout

XML:

<LinearLayout> 

    <LinearLayout> 
    </LinearLayout> 

    <LinearLayout> 
     //here would be another view, only shown when a button is clicked 
     <ViewFlipper> 
     </ViewFlipper> 
    </LinearLayout> 

    <RelativeLayout  
    </RelativeLayout> 

</LinearLayout> 
+1

嘗試隱藏和顯示。 – 2012-02-10 09:33:26

回答

1

如果你想顯示按鈕點擊任何視圖,則首先把那個查看XML內部並使其可見性消失,並在按鈕單擊使其可見。我已經把你的代碼中的imageview設置爲可見,因此它不會在佈局中顯示。

<LinearLayout> 

    <LinearLayout> 
    </LinearLayout> 

    <LinearLayout> 
     //here would be another view, only shown when a button is clicked 
     <ImageView 
         android:id="@+id/image1" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:src="@drawable/icon" 
         android:visibility="gone" /> 
    </LinearLayout> 

    <RelativeLayout  
    </RelativeLayout> 

</LinearLayout> 

爲了使可見圖像視圖,

imag1.seVisibility(View.VISIBLE); 
+1

不錯的答案chirag ... – Android 2012-02-10 09:44:30

+0

不錯的一個.......... – 2012-02-10 10:10:19

+0

謝謝你,會這樣做。 – 2012-02-10 10:46:53

2

是...你應該在XML準備它,並給它一個id.then你可以輕鬆管理其按鈕點擊的可見性使用mLinearLayout.setVisibility(View.GONE);mLinearLayout.setVisibility(View.VISIBLE);像:

Button mButton=(Button)findViewById(R.id.button); 
LinearLayout ll=(LinearLayout)findViewById(R.id.frame_layout); 

static int count=0; 
mButton.setOnClick.... (new OnClick...() 

      public void onClick(){ 

       count++; 
       if(count==1)    
        ll.setVisibility(View.VISIBLE);    
       else 
       { 
        count=0; 
        ll.setVisibility(View.GONE); 
       } 
      }   
); 
+0

我想代替'if(count == 1)'..我們可以使用'if(ll.isShown())' – MKJParekh 2012-02-10 09:45:41

+0

我還沒有嘗試過它。可能是其他方式做到這一點! – Hiral 2012-02-10 09:46:34

+0

沒問題,只是看到額外使用靜態變量..所提到的.. – MKJParekh 2012-02-10 09:51:14

5

使用FrameLayout顯示view重疊另一個view。您可以將視圖保留爲INVISIBLE或在xml中使用GONE,然後在點擊Button時使其可見。

+0

不錯的答案lalit ... – Android 2012-02-10 09:46:37

2

在這裏,你有兩個選擇:

正如你所說的預創建的佈局和設置能見度Visibility_Gone最初的佈局,不顯示,設置Visibitlity到View.Visible顯示佈局。

另一種方法是動態創建視圖,並添加到指定索引的父母,喜歡在LinearLayout中使用的頂部添加:

linearLayout.addView(view, 0); 
+0

謝謝你的回答。 – 2012-02-10 10:50:00