Android中修改Theme中 ActionBar溢出按钮返回按钮等style样式 总结

1 自定义溢出按钮样式

<item name="android:actionOverflowButtonStyle">@style/OverflowStyle</item>

<style name="OverflowStyle" parent="@android:style/Widget.Holo.ActionButton.Overflow">
    <item name="android:src">@drawable/note_menu_holo_light</item>
</style>

<style name="OverflowMenuStyle" parent="Widget.AppCompat.Light.PopupMenu.Overflow">
    <item name="overlapAnchor">true</item>
    <item name="android:dropDownWidth">wrap_content</item>
    <item name="android:paddingRight">3dp</item>
</style>

或者

mToolBar.setOverflowIcon(getResources().getDrawable(R.drawable.ic_editor_menu));


2 自定义ActionBar左上角的返回键图片样式

mActionBar.setHomeAsUpIndicator(R.drawable.ic_ab_back_holo_light);


3 常用属性说明 



<style name="AppTheme.NoActionBar">
    <!--状态栏颜色-->
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <!--控制各个控件被选中时的颜色-->
    <item name="colorAccent">@color/colorAccent</item>
    <!--页面背景色-->
    <item name="android:windowBackground">@color/windowBackg</item>
    <!--底部导航栏颜色-->
    <item name="android:navigationBarColor">@color/navigationColor</item>
    <!--Appbar背景色-->
    <item name="android:colorPrimary">@color/colorPrimary</item>
    <!--ToolBar上的Title颜色-->
    <item name="android:textColorPrimary">@color/textColorPrimary</item>
    <!--各个控制控件的默认颜色-->
    <item name="android:colorControlNormal">@color/colorControlNormal</item>
</style> 


3.3 Android中Theme相关属性 

Android actionbar在Material主题中修改样式

3.6 Android中隐藏底部导航栏NavigationBar,以及修改NavigationBar按键颜色及NavigationBar背景颜色。 

4 如果要让ActionBar的返回键和溢出按钮默认黑色 

<style name="CalendarTheme.WithActionBarColor" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowNoTitle">false</item>
    <item name="android:windowActionBar">true</item>
    <item name="android:windowBackground">@color/background_color</item>
    <item name="android:actionBarStyle">@style/CalendarOtherActionBarStyle</item>
    <item name="android:colorPrimaryDark">@color/primary_color_dark</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:navigationBarColor">@color/navigationBarColor</item>
    <item name="android:windowLightNavigationBar">false</item>
    <item name="android:textColorPrimary">#252525</item>
    <item name="android:textColorSecondary">#252525</item>

    <item name="colorAccent">@color/event_info_background</item>
    <item name="colorPrimary">@color/event_info_background</item>
    <item name="colorPrimaryDark">@color/event_info_background</item>
    <item name="colorControlActivated">@color/event_info_background</item>
    <item name="colorControlNormal">@color/navigationBarColor</item>
</style>

 

parent="Theme.AppCompat.Light.NoActionBar"可以实现ActionBar的返回键和溢出按钮默认黑色,
如果使用该主题的activity中有对于actionbar的操作,类似如下:

ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true); 


就要

<item name="android:windowActionBar">true</item>

<item name="android:windowNoTitle">false</item>

避免闪退,


否则就要在布局里面自己搞一个toolbar
然后

mToolBar = (Toolbar) findViewById(R.id.id_toolbar);
//mToolBar.setOverflowIcon(getResources().getDrawable(R.drawable.ic_editor_menu));

mToolBar.setTitleTextColor(Color.parseColor("#333333"));
setSupportActionBar(mToolBar);
getSupportActionBar().setDisplayShowHomeEnabled(true);
//bug:943183 back icon is not support the mirror shows
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayShowTitleEnabled(false);
mToolBar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        finish();
    }
});
mToolBar.setOnMenuItemClickListener(mToolBarMenuItemClickListener);

 5 遇到的一个问题

如果activity中有com.google.android.material.floatingactionbutton.FloatingActionButton 

该activity就要是  parent="Theme.AppCompat.****"

如 parent="Theme.AppCompat.Light.NoActionBar"
6 android 把状态栏的图标设置成黑色(白色) 


7 标题栏的默认标题是来自Activity在清单文件中的label属性,为什么要那么做呢?

这样做的好处是可以在清单文件中快速查找到需要的Activity 8 <item name="colorPrimaryDark">@color/event_info_background</item> 可以修改toolbar 上的返回键, srearchview搜索图标 以及title的字体颜色
 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值