How to set the Actionbar action Overflow indicator (three dots) color and splitActionBar?

1.6k views Asked by At

I am developing an app with the action bar And I wanted to make it split. in action bar I am using toolbar. let me first put some of my code here and let me tell you what I want.

I am setting my toolbar in to Actionbar and here is the xml of my toolbar

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

</android.support.v7.widget.Toolbar>

and in main activity I am calling it as below after finding my id of toolbar:

if (toolbar != null) {


            setSupportActionBar(toolbar);


        }

**

What I want

** 1.Now every thing has set and looking great. but accept the one thing and that is I want to make the text color to white of three dots which shows action, currently they are in black color. How can I change them to white. 2. Secondly I want to show split action bar so I am trying this but it never shows up what could be the reason? All I want a below bar as used in viber app.

For explanation of my app action icon(three dots: which shows action) i have done so many changes to my style but nothing really help , what I have done in it so far is given below :

Style.xml :

<resources>

    <style name="myAppTheme" parent="Base.Theme.AppCompat.Light">
        <item name="colorPrimary">@color/primaryColor</item>
        <item name="colorPrimaryDark">@color/primaryColorDark</item>
        <item name="android:windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
        <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
        <item name="actionBarStyle">@style/MyActionBar</item>
        <item name="windowNoTitle">true</item>
        <item name="actionMenuTextColor">#ffffff</item>
        <item name="android:actionMenuTextColor">#ffffff</item>
    </style>

    <style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
        <item name="spinBars">true</item>
        <item name="color">@android:color/white</item>
    </style>
    <style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar.Solid">
        <item name="titleTextStyle">@style/MyTitleTextStyle</item>
        <item name="actionMenuTextColor">#ffffff</item>
        <item name="android:actionMenuTextColor">#ffffff</item>
    </style>

    <style name="MyTitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="actionMenuTextColor">#ffffff</item>
        <item name="android:actionMenuTextColor">#ffffff</item>
    </style>


</resources>

Note: My activity extends to appcompactactivity.

1

There are 1 answers

1
GunbladerQ On BEST ANSWER

In your MyActionBar theme, have these attributes :

<item name="android:textColorSecondary">@color/white</item>
<item name="android:textColorPrimary">@color/white</item>

This worked for me. I hope it does for you too.