Android ActionBar Tab Color

前端 未结 6 1285
伪装坚强ぢ
伪装坚强ぢ 2020-12-13 14:21

I have added ActionBar tabs to my application. Default color for that underline is light blue. How do I change that color or style for selected tab ?

相关标签:
6条回答
  • 2020-12-13 14:40
    ActionBar bar = getActionBar();
    
    bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    
    // set background for action bar
    bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#0c2354")));
    
    // set background for action bar tab
    bar.setStackedBackgroundDrawable(new ColorDrawable(Color.parseColor("#B5C0D0")));       
    
    bar.show();
    
    0 讨论(0)
  • 2020-12-13 14:43

    Here is a much easier way:

    I've been struggling with this for days, but finally found the solution. I'm using AppCompat. You can set colorAccent in your theme and that will change the highlight color on your ActionBar. Like so:

    <item name="colorAccent">@color/highlightcolor</item>
    

    Here it is in context:

    <style name="LightTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/darkgrey</item>
        <item name="colorPrimaryDark">@color/black</item>
        <item name="colorAccent">@color/highlightcolor</item>
    </style>
    

    Where I originally posted this answer: Android Tab underline color not changing

    0 讨论(0)
  • 2020-12-13 14:44

    selectableItemBackground is the attribute I think your looking for. I'd recommend you read this article about Customizing the Action Bar as well as look at this question on SO and this one as well.

    In code i cant seem to find a way to customize the individual item selected but , customizing the bar itself would look something like this.

    ActionBar bar = getActionBar();
    bar.setBackgroundDrawable(new ColorDrawable("FF0000"));
    

    0 讨论(0)
  • 2020-12-13 14:50

    For anyone wants to change actionbar color/background in code, you can do something like this

    final ActionBar actionBar = getActionBar();
    actionBar.setBackgroundDrawable(getResources().getDrawable(R.drawable.action_bar_bg));
    

    To change the tab bar color under the actionbar:

    actionBar.setStackedBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.color_brown_dark)));
    

    To change tab bar background:

    actionBar.setStackedBackgroundDrawable(getResources().getDrawable(
                R.drawable.coupon_header));
    
    0 讨论(0)
  • 2020-12-13 15:01

    This may give some clues Action Bar Style Gen

    0 讨论(0)
  • 2020-12-13 15:03

    1) Generate the Action Bar Style, click Download ZIP to get the files

    2) When you extract the zip file created in Step 1, you will get a res folder. Add this folder to your project under platform/android.

    3) Modify manifest.xml to Use the New Action Bar Style, where "Action" is name of your style set in step 1.

    <android xmlns:android="http://schemas.android.com/apk/res/android">      
    <tool-api-level>14</tool-api-level>
    <manifest>
        <application android:theme="@style/Theme.Action"/>
        <uses-sdk android:minSdkVersion="14"
            android:targetSdkVersion="16"/>
    </manifest>
    </android>
    

    This manual helped me and I hope it will help you too.

    0 讨论(0)
提交回复
热议问题