2013-06-05 3 views
1

Я пытаюсь создать фон (цвет текста муравья) представления, основанного на текущей теме.Изменение фона макета по теме

в моих ATTRS у меня есть:

<attr name="DirectoryRowTrackName" format="color|reference" /> 
<attr name="DirectoryRowSmallName" format="color|reference" /> 
<attr name="DirectoryRowBackground" format="color|reference" /> 

В моих ActionBarSherlock полученных тем у меня есть:

<style name="Theme.Xenolight" parent="@style/Theme.Sherlock.Light"> 
    <item name="actionBarItemBackground">@drawable/selectable_background_xenolight</item> 
    <item name="popupMenuStyle">@style/PopupMenu.Xenolight</item> 
    <item name="dropDownListViewStyle">@style/DropDownListView.Xenolight</item> 
    <item name="actionBarTabStyle">@style/ActionBarTabStyle.Xenolight</item> 
    <item name="actionDropDownStyle">@style/DropDownNav.Xenolight</item> 
    <item name="actionBarStyle">@style/ActionBar.Solid.Xenolight</item> 
    <item name="actionModeBackground">@drawable/cab_background_top_xenolight</item> 
    <item name="actionModeSplitBackground">@drawable/cab_background_bottom_xenolight</item> 
    <item name="actionModeCloseButtonStyle">@style/ActionButton.CloseMode.Xenolight</item> 

    <item name="DirectoryRowTrackName">#000000</item> 
    <item name="DirectoryRowSmallName">#aaaaaa</item> 
    <item name="DirectoryRowBackground">#55ffffff</item> 

</style> 

Затем, пытаясь применить цвет:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:background="?attrs/DirectoryRowBackground" 
android:id="@+id/cale" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_gravity="center_vertical" 
android:gravity="bottom" > 

Результаты в " Не удалось найти тему ресурса DirectoryRowBackground для текущей темы ", то есть независимо от того, могу ли я указать:

android:background="?attrs/DirectoryRowBackground" 

или

android:background="?DirectoryRowBackground" 

Что я делаю неправильно?

ответ

2

У вас есть опечатка в вашем RelativeLayout. Он должен быть attr вместо attrs.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:background="?attr/DirectoryRowBackground" 
android:id="@+id/cale" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_gravity="center_vertical" 
android:gravity="bottom" > 
+0

Ах, это решает проблему. Я до сих пор: 10-11 14: 58: 03,138: E/AndroidRuntime (10369): android.view.InflateException: Binary XML файл строка # 47: Ошибка при наполнении класса , но я предполагаю, что будет решить в конце концов – ssuukk

+0

Привет, Вы решили это? –

Смежные вопросы