Подтвердить что ты не робот

Как изменить видимость компоновки программно

Есть способ изменить видимость представления, но как я могу изменить программную видимость макета, определенного в XML? Как получить объект макета?

<LinearLayout
    android:id="@+id/contacts_type"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:visibility="gone">
</LinearLayout>
4b9b3361

Ответ 1

Посмотрите View.setVisibility(View.GONE / View.VISIBLE / View.INVISIBLE).

Из API docs:

public void setVisibility(int visibility)

    Поскольку: Уровень API 1

      Установите разрешенное состояние этого представления.
    Связанные атрибуты XML: android: видимость

Параметры:
    visibility     Один из VISIBLE, INVISIBLE или GONE.

Обратите внимание, что LinearLayout является ViewGroup который, в свою очередь, является View. То есть, вы можете очень хорошо позвонить, например, myLinearLayout.setVisibility(View.VISIBLE).

Это имеет смысл. Если у вас есть опыт работы с AWT/Swing, вы узнаете его из отношения между Container и Component. (A Container a Component.)

Ответ 2

TextView view = (TextView) findViewById(R.id.textView);
view.setText("Add your text here");
view.setVisibility(View.VISIBLE);

Ответ 3

Используйте этот макет в вашем XML файле

<LinearLayout
  android:id="@+id/contacts_type"
  android:orientation="horizontal"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:visibility="gone">
</LinearLayout>

Определите свой макет в файле .class

 LinearLayout linearLayout = (LinearLayout) findViewById(R.id.contacts_type);

Теперь, если вы хотите отобразить этот макет, просто напишите

 linearLayout.setVisibility(View.VISIBLE);

и если вы хотите, чтобы скрыть макет просто напишите

 linearLayout.setVisibility(View.INVISIBLE);

Ответ 4

Вы можете изменить видимость макета точно так же, как и для обычного вида. Используйте setVisibility (View.GONE) и т.д. Все макеты - это просто Views, у них есть View как их родитель.

Ответ 5

programaticaaly использовать это:

 view.setVisibility(View.GONE); //For GONE
 view.setVisibility(View.INVISIBLE); //For INVISIBLE
 view.setVisibility(View.VISIBLE); //For VISIBLE