В моем приложении, портрет будет иметь Button
, где ландшафт будет НЕ есть Button
, поэтому я использую <include>
и сделал это:Android макет не включают в себя макет
макет/activity_main.xml
...
<include layout="@layout/my_button" />
...
значения/layout.xml
...
<item name="my_button" type="layout">@layout/my_button_layout</item>
...
значения-земля/layout.xml
....
<item name="my_button" type="layout">@layout/empty_layout</item>
макет/my_button_layout.xml
...
<Button...... <!-- my button XML -->
...
макет/empty_layout.xml
<View xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone" />
Теперь, это работает, но я не совсем нравится идея, имеющий бесполезный вид всегда, когда приложение в пейзаже.
Я попытался сделать:
<item name="my_button" type="layout">@null</item>
, но это было бы бросить ResourceNotFound
Exception
Есть ли способ обойти это?
(Да, я знаю, что могу сделать это программно, но тогда теряется смысл системы компоновки Андроида)
Поместите два разных макета с тем же именем в папках макета-порта и макета в папке res. –
I.tried, что раньше, в основном мне придется скопировать весь макет в каталог макета-порта и удалить этот небольшой раздел XML моей Button. Это не совсем будущее доказательство ... – tom91136
Затем введите логическое значение в ваши значения - порт и папку значений. –