2010-09-06 3 views
0

Im пытается найти поисковую систему в верхней части моего списка. Но я хочу, чтобы этот поисковый фильтр иногда исчезал, а список - для изменения размера. Есть ли способ, которым я могу это сделать, без перезагрузки другого и другого макета ???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

Смежные вопросы