关闭

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

211人阅读 评论(0) 收藏 举报

自定义中需要使用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 所示:

http://s12.sinaimg.cn/mw690/00217BUbzy6OBTaWfG39b&690

                                                                                                         图 -  1


界面化设计ACTIONBAR参考

自定义actionbar参考

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2505次
    • 积分:139
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条