2015-07-20 1 views
5

Я начинаю новый проект, поэтому проект более или менее «пуст». Я просто добавил MainActivity, с MainActivtyFragment. Я вообще не добавлял к ним никакого кода.«Не удалось преобразовать? Attr/colorPrimary в drawable»

Теперь я редактирую styles.xml так это выглядит следующим образом:

<resources> 
 
    <!-- Base application theme. --> 
 
    <style name="MyTheme" parent="@android:style/Theme.Material.Light.DarkActionBar"> 
 
     <item name="android:windowNoTitle">true</item> 
 
     <!--We will be using the toolbar so no need to show ActionBar--> 
 
     <item name="android:windowActionBar">false</item> 
 
     <!-- Set theme colors from http://www.google.com/design/spec/style/color.html#color-color-palette--> 
 
     <!-- colorPrimary is used for the default action bar background --> 
 
     <item name="android:colorPrimary">#2196F3</item> 
 
     <!-- colorPrimaryDark is used for the status bar --> 
 
     <item name="android:colorPrimaryDark">#1976D2</item> 
 
     <!-- colorAccent is used as the default value for colorControlActivated 
 
      which is used to tint widgets --> 
 
     <item name="android:colorAccent">#FF4081</item> 
 
     <!-- You can also set colorControlNormal, colorControlActivated 
 
      colorControlHighlight and colorSwitchThumbNormal. --> 
 
     <item name="toolbarStyle">@style/Widget.AppCompat.Toolbar</item> 
 
    </style> 
 
</resources>

Итак, я расширяю материала тему, как вы можете видеть.

Я затем создать панель инструментов XML-файл (mytoolbar.xml), как это:

<?xml version="1.0" encoding="utf-8"?> 
 
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
 
    android:id="@+id/toolbar1" 
 
    android:layout_width="match_parent" 
 
    android:layout_height="wrap_content" 
 
    android:minHeight="?attr/actionBarSize" 
 
    android:background="?attr/colorPrimary"> 
 

 
    <ImageView 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:src="@drawable/abc_ic_voice_search_api_mtrl_alpha"/> 
 
</android.support.v7.widget.Toolbar>

И вот проблема:

enter image description here

Я не могу выяснить почему. Я выполнил синхронизацию gradle, очистил, восстановил, перезапустил IDE (Android Studio 1.2.1.1), ничего не работает.

Любые идеи?

ответ

1

Существует ошибка в ОС Android [pre-lollipop], которая не позволяет использовать attr в drawable. Вот ссылка на ошибку:

https://code.google.com/p/android/issues/detail?id=26251

Android Команда разработчиков выпустила исправление, но он работает на андроид L и выше. Для временного решения этой проблемы, обратитесь к следующему решению:

How to reference style attributes from a drawable?

+1

Хм, это на ПК, когда я развиваюсь, его нет в ОС Android, поэтому я не совсем уверен, что вы имеете в виду =) OS-версия не имеет значения при кодировании, я могу выбрать таргетинг на различные версии SDK в файлы manifest/gradle, правильно? Это то, что вы имеете в виду, проблема с целевой версией SDK? Если я установил его на 22, будет ли он работать тогда? Потому что он не работает для меня. – Ted

+0

Вы также обновили ОС Android до api 22? .. все еще не работает. попытался изменить min api – abhishek

+0

ОС устройства будет отличаться, конечно. На одном устройстве может работать 4.1, другое 5.1 и все между ними. Это не должно сказаться на Android Studio. – Ted

1

Существует проблема на ниже версии Android OS -21 .Вы можете использовать

андроида: фон = "атр/colorPrimary"

вместо

приложение: "атр/colorPrimary" фон =

Будет работать нормально.

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