名校家教-actionbar 自定义与消除底部边框

本文介绍了如何在Android应用中自定义ActionBar的样式,包括修改标题背景色,并提供了解决Android 5.0及更高版本中ActionBar底部边框问题的方法。在Android 5.0中,可以通过设置setElevation(0)来消除边框,而在后续版本中,可通过调整style属性实现相同效果。同时,文中提供了ACTIONBAR的界面设计参考和自定义实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自定义中需要使用style 进行自定义样式

 <style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light">  
        <item name="android:actionBarStyle">@style/MyActionBar</item>  
        <item name="android:actionBarDivider">@null</item>  
        <item name="android:actionBarTabTextStyle">@style/MyActionBarTabText</item>  
<!--         <item name="android:actionBarTabStyle">@style/MyActionBarTabs</item> -->  
        <item name="android:actionBarTabBarStyle">@style/MyActionBarTabBars</item>  
        <item name="android:actionMenuTextColor">@android:color/holo_green_light</item>  
  
        <!-- Support library compatibility -->  
        <item name="actionBarStyle">@style/MyActionBar</item>  
        <item name="actionBarDivider">@null</item>  
        <item name="actionBarTabTextStyle">@style/MyActionBarTabText</item>  
<!--         <item name="actionBarTabStyle">@style/MyActionBarTabs</item> -->  
        <item name="actionBarTabBarStyle">@style/MyActionBarTabBars</item>  
        <item name="actionMenuTextColor">@android:color/holo_green_light</item>  
    </style>  

其中可以看到, 使用 support兼容库时( getSupportActionBar()  ),item 内部的name 不可以加 android ,不在android命名空间下;

其它定义比较简单 比如修改标题背景色,不是兼容包

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar" type="text/css"><!--ActionBar的颜色-->
        <item name=colorPrimary>@color/primary</item>
        <!-- 随主题而改变的颜色(如CheckBox的颜色)-->
        <item name=colorAccent>@color/accent</item>
        <!--状态栏的颜色 (使用support包时似乎无效。)-->
        <item name=colorPrimaryDark>@color/primary_dark</item>
 
        <!--ActionBar的样式-->
        <item name=actionBarStyle>@style/AppTheme.ActionBarStyle</item>
</style>
<style name="AppTheme.ActionBarStyle" parent="Widget.AppCompat.ActionBar.Solid">
<item name=android:titleTextStyle>@style/AppTheme.ActionBar.TitleTextStyle</item>
</style>
<style name="AppTheme.ActionBar.TitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title" ><!--ActionBar标题文字颜色-->


如何消除底部边框

<style name="MyAppTheme" parent="android:Theme.Holo.Light">  
    <item name="android:windowContentOverlay">@null</item>  
</style>  

在android 5.0 中还需要调用actionbar中的setElevation(0);


在android 5.0 之后 相关的style 属性所代表的含义如 图-1 所示:

https://i-blog.csdnimg.cn/blog_migrate/6814b28aa90e43bd2431da884ed20369.jpeg

                                                                                                         图 -  1


界面化设计ACTIONBAR参考

自定义actionbar参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值