Android ActionBar学习(二) -- 自定义ActionBar Style

本文将介绍如何为Android的ActionBar自定义Style,包括设置自定义背景、overflow背景以及ActionBar的Tabs背景,以创建独特的应用界面风格。
摘要由CSDN通过智能技术生成

转载请注明出处:http://blog.csdn.net/yegongheng/article/details/38659147


       上一篇文章我们初步了解了ActionBar的概念及为ActionBar自定义添加不同的Action item,Action View以及Action Provider等实现方法,接下来的这一片文章我们将讨论如何为ActionBar自定义不同的Style(样式),实现具有自己独特风格的Action Bar。

自定义Actionbar Style

       在上一篇讲解ActionBar的文章开头,我们在AndroidManifest.xml文件中声明的<activity/>组件中使用android:theme属性来为Activity引入ActionBar并设置Theme Style(主题样式),不过我们使用的Theme Style是Android系统自身提供的,样式显得着实单调不够有个性,那我们能不能DIY出自己想要的Theme Style呢?答案当然是yes,下面我将带领大家一步一步去自定义我们想要的ActionBar Theme Style。
       我们知道,在项目目录结构AndroidManifest.xml文件中需要设置<uses-sdk/>节点,例如:
<uses-sdk
     android:minSdkVersion="8"
     android:maxSdkVersion="14"
     android:targetSdkVersion="19" />
该节点主要功能是为APP设置所运行Android系统的最低运行版本、目标运行版本和最高运行版本的属性。有这里需要注意的是,鉴于Android系统版本的差异性,在自定义Theme style的过程中应根据应用所需运行的最低系统版本而进行不同的设置,简单来讲就是在不同Android系统版本上,设置同样功能的Theme Style,设置属性方式会有所不用。其中差异最大的的是Android3.0(level 11)之前和之后的系统版本,虽然目前使用Android3.0之前版本系统的手机已经非常少,但为了提高我们应用的兼容性,我们在这里实现Android Theme Style时,会分别实现兼容Android3.0(level 11)及以上和Android2.1(level 7)及以上的两种属性设置方式。下面就进入我们自定义ActionBar Theme Style的实验中。

自定义ActionBar背景

       我们拿实例中的Scr eenSecondActivity实验,为其ActionBar自定义Theme Style,首先看一下该ActionBar默认的Theme Style,如图下:

接着我们设置ActionBar的背景, 首先我们在项目中的res/values/styles.xml文件中定义自己的<style/>节点,名为MyActionBarTheme,然后再设置相关ActionBar背景属性。 具体代码如下:
 <!-- 第二步 -->
    <!-- Android3.0及以上ActionBar自定义的样式主题 -->
    <style name="MyActionBarTheme" parent="@android:style/Theme.Holo">
        <!-- 设置ActionBar Style -->
        <item name="android:actionBarStyle">@style/MyActionBar</item>
		<!--设置ActionBar中ActionItems的背景和点击选中时的style -->
        <item name="android:selectableItemBackground">@drawable/choose_action_items_background</item>
    </style>

    <!--Android3.0及以上ActionBar样式-->
    <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
        <!--设置ActionBar的背景-->
        <item name="android:background">@color/actionbar_background</item>
        <!--设置ActionBar的标题的样式-->
        <item name="android:titleTextStyle">@style/ActionBarTextStyle</item>
    </style>
	
	<!--Android3.0及以上ActionBar字体样式 -->
    <style name="ActionBarTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
        <item name="android:textColor">@color/actionbar_tab_textcolor</item>
    </style>
    <!---------------------------------------------------------------------->
     <!--Android2.1及以上ActionBar自定义的样式主题 -->
    <style name="MyActionBarTheme" parent="@style/Theme.AppCompat">
         <!-- 设置ActionBar Style -->
        <item name="actionBarStyle">@style/MyActionBar</item>
		<!--设置ActionBar中ActionItems的背景和点击选中时的style -->
        <item name="selectableItemBackground">@drawable/choose_action_items_background<
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值