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布局下方的布局)。
你只是救了我的命! :))) – Fabien 2010-09-07 07:29:37