Что такое видимость в XML? размер, строка и т. д. (Android)

Я хочу иметь разную видимость для каждой версии (JB, KK и L). Затем у меня есть несколько файлов attr.xml для каждой версии, прежде чем я использовал значение размера, чтобы установить его высоту на 0 или X dpi, но теперь мне нужно удалить представление.

Что такое видимость? это не размер, это не строка... как я могу получить его из своего атрибута в моем представлении с помощью android:visibility="@XXXXXXX/myViewVisibility"

С высотой я использую android:visibility="@dimen/myViewHeight", и он отлично работает...

Заранее спасибо.


person JavierSegoviaCordoba    schedule 11.02.2015    source источник
comment
это работает с @string/anyOfYourStrings?   -  person ataulm    schedule 11.02.2015
comment
@ataulm со строкой не работает   -  person JavierSegoviaCordoba    schedule 11.02.2015
comment
возможный дубликат значения перечисления атрибута ссылки   -  person Budius    schedule 11.02.2015


Ответы (1)


Это перечисление. Вы можете найти определение перечисления в attrs.xml (строка 2163).

Вы можете использовать целочисленную ссылку, если действительно хотите использовать ссылку на ресурс, но я не рекомендую это делать, если (по какой-либо причине) эти константы изменятся в будущем. Например:

<resources>
    <!-- 2 corresponds to "gone" -->
    <integer name="my_visibility">2</integer>
</resources>

<View
    visibility="@integer/my_visiblity" />

Стиль также будет работать для видимости конкретной версии, например:

<style name="MyViewStyle">
    <item name="android:visibility">gone</item>
</style>

<View
    style="@style/MyViewStyle" />
person Bryan Herbst    schedule 11.02.2015
comment
Пойду пробовать, спасибо за ответ. Я попытался найти видимость на сайте developer.android.com, но не нашел - person JavierSegoviaCordoba; 11.02.2015
comment
@Dahnark, вы также можете увидеть это, если откроете сгенерированный файл R.java. visibility — это константа, определенная в классе attr, которая содержит все атрибуты, имеющие перечисляемые значения. Вероятно, работает с @dimen/something, потому что это разрешается в целое число, но не @string/something, потому что это не разрешается в целое число. - person ataulm; 11.02.2015
comment
Но если я использую размер, мне нужно искать, какой размер исчезнет и будет видимым, используя слово «ушел» или «видимый», не работает - person JavierSegoviaCordoba; 11.02.2015
comment
Как я могу использовать стиль, чтобы избежать возможных изменений в будущем этих значений? - person JavierSegoviaCordoba; 11.02.2015
comment
Я добавил пример. Есть несколько предостережений со стилями, в основном то, что каждый вид может иметь только один стиль. - person Bryan Herbst; 11.02.2015
comment
Хорошо, в приложении переполнения стека ваш код не отображается, в Интернете да, извините за комментарий ранее. - person JavierSegoviaCordoba; 11.02.2015
comment
Сэкономьте время: visible=0, invisible=1, gone=2 :D - person 4emodan; 21.12.2017