У меня есть макет, содержащий два ImageViews. Я хочу, чтобы один из них был виден в портрете, а другой - в пейзаже. Как достичь этого с помощью ресурсов? (Я знаю, как установить его программно, но это конкретное использование, которое мне нужно для его достижения, используя ресурсы).
Я пробовал что-то вроде
в res/layout/may_layout.xml:
...
<ImageView
android:id="@+id/image1"
android:visibility="@integer/visible_in_portrait" <<-- is this allowed?
...
/>
<ImageView
android:id="@+id/image2"
android:visibility="@integer/visible_in_landscape"
...
/>
в res/values /integers.xml:
...
<!-- NOTE: 0 and 8 are VISIBLE and GONE respectively -->
<integer name="visibile_in_portrait">0</integer>
<integer name="visibile_in_landscape">8</integer>
в res/values-land/integers.xml:
...
<integer name="visibile_in_portrait">8</integer>
<integer name="visibile_in_landscape">0</integer>
Но при попытке раздувания изображений я получаю ошибку времени выполнения (индекс из привязки). Когда я удаляю инструкции android: visibility, программа запускается, но я вижу оба изображения.
В: Каков способ использования ресурса в качестве значения для атрибута android: visibility?
(если вы задаетесь вопросом, почему его программное программирование мне не поможет, это связано с автоматическим переключением виджета приложений с ландшафтным и портретным портретом с растровыми изображениями файлов uri).