android: динамический макет? - PullRequest
       8

android: динамический макет?

0 голосов
/ 06 сентября 2010

Я пытаюсь разместить окно поиска в верхней части списка. Но я хочу, чтобы это окно поиска иногда исчезало, а представление списка изменялось, чтобы восстановить пространство. Есть ли способ, которым я могу сделать это без перезагрузки другого и другого макета ???

есть ли способ добавить и удалить компонент из текущего представления? Я играл с setvisibility, но он ничего не изменяет.

Пожалуйста, если знаете, приведите пример кода! :)

1 Ответ

2 голосов
/ 06 сентября 2010

Я сделал это с помощью макета, подобного этому

<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).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...