2010-09-06 196 views
0

我試圖有一個搜索框在我的列表視圖的頂部。但是我希望這個搜索框有時會消失,並且需要調整列表視圖以重新獲得空間。有沒有辦法,我可以做到這一點,而無需重新加載另一個不同的佈局?android:動態佈局?

有沒有辦法在當前視圖中添加和刪除組件?我一直在玩setvisibility,但它沒有調整任何大小。

如果您知道,請給出代碼示例! :)

回答

2

我這樣做,像這樣

佈局
<RelativeLayout android:id="@+id/editFrame" 
    android:layout_width="wrap_content" 
    android:layout_below="@id/imageAttachments" 
    android:layout_height="wrap_content" 
    > 

    <EditText android:id="@+id/editText" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     ></EditText> 
</RelativeLayout> 

<ListView android:id="@+id/ListView01" 
    android:layout_below="@id/editFrame" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    ></ListView> 

然後,在代碼,請執行下列操作:

findViewById(R.id.editText).setVisibility(View.GONE); 

以釋放空間,或

findViewById(R.id.editText).setVisibility(View.VISIBLE); 

顯示搜索框。 除了EditText之外,還可以使用任何其他單個控件或用於組合控件的佈局。 將其可見性設置爲GONE將使周圍的editFrame佈局(也可以是FrameLayout)縮小爲零,並回收ListView的空間(設置爲直接位於editFrame佈局下方的佈局)。

+0

你只是救了我的命! :))) – Fabien 2010-09-07 07:29:37