android:动态布局?

问题描述:

我试图有一个搜索框在我的列表视图的顶部。但是我希望这个搜索框有时会消失,并且需要调整列表视图以重新获得空间。有没有办法,我可以做到这一点,而无需重新加载另一个不同的布局?android:动态布局?

有没有办法在当前视图中添加和删除组件?我一直在玩setvisibility,但它没有调整任何大小。

如果您知道,请给出代码示例! :)

我这样做,像这样

布局
<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