Intereting Posts
Android: android.content.res.Resources $ NotFoundException: Идентификатор ресурса строки # 0x5 Как показать combobox в Android? Следите за изменениями на внешнем USB-накопителе для версий Honeycomb или более поздних версий Android Android SeekBar устанавливает значение прогресса Android Studio: ошибка: выполнение не выполнено для задачи: app: dexDebug ' Что эквивалентно «colspan» в Android TableLayout? Почему нет тестера для BroadcastReceiver? Что должен знать разработчик, прежде чем создавать приложения для мобильных телефонов? Генерировать ошибку Javadoc для Android Studio В AVD-эмуляторе, как увидеть папку sdcard? И установить apk в AVD? Ошибка. Редактирование инструментов сборки SDK (23.0.3) слишком мало для проекта «Приложение». Минимальное значение – 25.0.0 Не удалось получить доступ к диспетчеру пакетов. Это система, работающая при установке приложения для Android Sonar: Как использовать градлу для проверки проекта Android Принесите фрагмент на фронт (без фрагментального отдыха) Android, как переопределить проверку подключения к Интернету при подключении к Wi-Fi сети?

Стилирование пользовательских представлений

У меня есть несколько пользовательских представлений в моем проекте Android, и я добавил соответствующие данные в файл attrs.xml. И теперь я могу реализовать свои объекты через XML. Это прекрасно работает.

Как я стилю эти элементы? Когда я пытаюсь использовать свои пользовательские атрибуты в styles.xml, возникает ошибка «Не найден ресурс, который соответствует указанному имени:»

Для использования пользовательских представлений в обычной разработке xml я использую xmlns: app = "http://schemas.android.com/apk/res/bla.bla.bla". Что правильно использовать в стилях?

Это то, что мой стиль выглядит в настоящее время

<style name="Journey_DaySelect_Sunday"> <item name="app:onImage">@drawable/day_sunday_selected</item> <item name="app:offImage">@drawable/day_sunday</item> </style> 

Solutions Collecting From Web of "Стилирование пользовательских представлений"

После более интенсивного поиска в Google я отказался от поиска ответа в другом месте и случайно попытался использовать абсолютное пространство имен моего сгенерированного файла R, с которым он работал. Пусть это решит все ваши проблемы.

ИСПОЛЬЗУЙТЕ НАЗНАЧЕНИЕ, СОДЕРЖАЩЕЕ СВОЙ R-файл

 <style name="Journey_DaySelect_Sunday" parent="Journey_DaySelect"> <item name="AppZappy.NIRailAndBus:onImage">@drawable/day_sunday_selected</item> <item name="AppZappy.NIRailAndBus:offImage">@drawable/day_sunday</item> </style> 

Для пояснения атрибут имени элемента должен быть таким же, как и атрибут атрибута attrs.xml с именем объявления + ":" + имя атрибута.

Например:

attrs.xml:

 <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="com.chuck.norris"> <attr name="actionBarTextColor" format="color"/> </declare-styleable> </resources> 

style.xml:

 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="myNewStyle"> <item name="android:textColor">#FFFF0000</item> <item name="com.chuck.norris:actionBarTextColor">#ffff0000</item> </style> </resources> 

Затем вы можете применить этот стиль ко всем видам деятельности, используя тему в вашем файле manifest.xml. В любом месте, где существует пользовательский вид, который хочет использовать атрибут «actionBarTextColor», вы можете использовать код Java:

 TypedArray typedArray = context.obtainStyledAttributes(attrSet, R.styleable.com_chuck_norris); COLOR_ACTION_BAR_TEXT = typedArray.getColor(R.styleable.com_chuck_norris_actionBarTextColor, 0xff0000ff); typedArray.recycle(); 

Я не уверен, почему вы не можете просто определить свою схему в файле style.xml, как было сказано выше, но это, по-видимому, является ограничением style.xml.

Попробуйте это решение

 <style name="Journey_DaySelect_Sunday"> <item name="onImage">@drawable/day_sunday_selected</item> <item name="offImage">@drawable/day_sunday</item> </style> 

ссылка (китайский)

Если вы, ребята, считаете это полезным, я переведу его.