Как добавить и удалить элемент макета между режимом portarit и ландшафтным режимом? - PullRequest
1 голос
/ 11 июля 2011

У меня есть простой макет, который показывает текст и изображение:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffffff"
>    
    <LinearLayout 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center"
    >

        <TextView 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:text="TEST"
            android:textColor="#0099cc"
        />

        <ImageView   
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:tint="#55ff0000"
            android:src="@drawable/my_image"/>
    </LinearLayout>    


</LinearLayout>

Хотелось бы, чтобы изображение отображалось только тогда, когда устройство находится в режиме Портрет .

Что я имею в виду, если устройство находится в режиме альбомная , я хотел бы не только просто скрыть изображение, , но удалить изображение полностью из макета. Как это сделать?

Ответы [ 2 ]

4 голосов
/ 11 июля 2011

Android обеспечивает это, позволяя вам иметь несколько файлов макетов в отдельных папках макетов, которые используются в разных средах.

Этот XML-файл следует переместить в новую папку res/layout-port в структуре каталогови создайте копию в res/layout-land, которой не хватает вашего ImageView.Android выберет соответствующий XML-файл в зависимости от ориентации устройства.

Более подробная информация здесь .

2 голосов
/ 11 июля 2011

Вы можете указать два макета: один портретный режим форта, помещенный в папку layout-port, и один для ландшафтного режима, помещенный в папку layout-land.Надеюсь, это поможет.

...