2016-01-19 6 views
0

Я пытаюсь создать панель действий, на которой есть два значка меню. Я использую тему AppCompat, и у меня есть 4 фрагмента в приложении. Я не хочу использовать панель инструментов для этого.Styling action bar в студии android

Вот что у меня есть. Это стилирует цвет и цвет панели, но меню переполнения (3 точки) и стрелки вверх не меняют цвет, а только текст и фон.

<resources xmlns:android="http://schemas.android.com/apk/res/android"> 
<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <item name="android:colorPrimary">@color/primary</item>   
    <item name="android:colorPrimaryDark">@color/primary_dark</item>   
    <item name="actionBarStyle">@style/MyActionBar</item> 
</style> 

<!-- ActionBar styles --> 
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"> 
    <item name="background">@color/primary</item> 
    <item name="titleTextStyle">@style/MyActionBarTitle</item> 
</style> 

<style name="MyActionBarTitle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"> 
    <item name="android:textColor">@color/white</item> 
</style> 

<style name="Your.Theme.OverflowStyle" parent="@style/Widget.AppCompat.ActionButton.Overflow"> 
    <item name="android:color">@color/white</item> 
</style> 

+0

@Drenmi Исправьте мой код, но если вы собираетесь исправить грамматику народов, это правильно, вот что я до сих пор не то, что я написал. И зачем вынимать по-вежливую вежливость какую-нибудь помощь, которую оценил комментарий? , – user1958789

+0

Чтобы быть справедливым, я не редактировал эту часть. На этот пост было внесено два изменения. :-) Манеры - это, конечно, хорошая вещь, но подобные оборки часто редактируются, поскольку они не добавляют к сути вопроса. Я думаю, мы можем сказать, что все благодарны за помощь, которую они получают здесь. :-) – Drenmi

ответ

0

Я думаю, что вы должны относиться к стилю Your.Theme.OverflowStyle где-нибудь в <style name="AppTheme" parent="Theme.AppCompat.Light"></style>.

Должно работать следующее:

<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <item name="android:colorPrimary">@color/primary</item> 
    <item name="android:colorPrimaryDark">@color/primary_dark</item> 
    <item name="actionBarStyle">@style/MyActionBar</item> 
    <item name="android:actionOverflowButtonStyle">@style/Your.Theme.OverflowStyle</item> 
</style> 

Предложение вне темы: не так много пустых строк в вашем коде. Это труднее читать, так как сложнее обнаружить группы логических кодов.

+0

Спасибо @dnzprmksz, не исправило это для меня, но я нашел решение, см. Мой ответ ниже. – user1958789

0

Heres решение, которое сработало для меня. Мне пришлось загрузить значок навигации и значок вертикального меню. Надеюсь, это имеет смысл, без сомнения, грамматические нацисты будут отсутствовать.

<resources> 
    <style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light"> 
     <item name="android:actionBarStyle">@style/MyActionBar</item> 
     <item name="actionBarStyle">@style/MyActionBar</item> 
     <item name="android:actionOverflowButtonStyle">@style/OverflowButton</item> 
     <item name="actionOverflowButtonStyle">@style/OverflowButton</item> 
     <item name="android:statusBarColor">@color/primary_dark</item> 
    </style> 
    <style name="OverflowButton" parent="@style/Widget.AppCompat.Light.ActionButton.Overflow"> 
     <item name="android:src">@drawable/ic_more_vert_white_18dp</item> 
    </style> 
    <style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar"> 
     <item name="background">@color/primary</item> 
     <item name="android:titleTextStyle">@style/MyActionBarTitleText</item> 
     <item name="titleTextStyle">@style/MyActionBarTitleText</item> 
    </style> 
    <style name="MyActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"> 
     <item name="android:textColor">@color/button_text </item> 
    </style> 


</resources>