Ссылка на перечисленные атрибуты стиля от XML в Android

У меня есть приложение, которое требует, чтобы полосы прокрутки были включены в одной альбомной ориентации, но не в портретной ориентации. Я думал самый легкий способ сделать, это должно будет сделать атрибут, указывающий, включена ли полоса прокрутки или нет, такие как следующее:

<ScrollView
        a:layout_width="fill_parent"
        a:layout_height="fill_parent"
        a:scrollbars="?my_activity_scrollbars"
        a:fadingEdge="none"
        >

Я затем определил бы отдельные значения атрибута для среды и режимов портрета. Казался легким.

Таким образом, я затем определил этот атрибут в attrs.xml:

<resources>
  <declare-styleable name="Theme">
    <attr name="my_activity_scrollbars" format="enum" /> 
  </declare-styleable>
</resources>

И добавил его к styles.xml моего приложения:

<style name="MyApp" parent="@android:style/Theme.Light">
    <item name="add_credit_card_scrollbars">none</item> 
</style>

Однако, когда я пытаюсь скомпилировать свое приложение, я получаю следующую ошибку:

styles.xml:8: error: Error: String types not allowed (at 'my_activity_scrollbars' with value 'none').

Кажется ясным, что это не рассматривает "ни один" как строку, а не перечисляемое значение. Вместо того, чтобы не использовать "ни один", я попробовал вещи как"? android:attr/scrollbars/none", "? android:attr/none", и т.д., но они не работали.

Как я могу указать, что "ни один" не оценивает как перечисляемое значение вместо строки?

6
задан emmby 1 July 2010 в 19:18
поделиться

1 ответ

Я считаю, что у вас неправильно задано определение attr:

Это перечисление attr из источника android:

<attr name="ellipsize">
    <enum name="none" value="0" />
    <enum name="start" value="1" />
    <enum name="middle" value="2" />
    <enum name="end" value="3" />
    <enum name="marquee" value="4" />
</attr>

Похоже, вы не определяете format="enum" и вместо этого указываете значения перечисления в самом теге attr.

11
ответ дан 9 December 2019 в 22:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: