Action Bar的样式

来源:互联网 发布:怎么查淘宝历史价格 编辑:程序博客网 时间:2024/06/06 02:40


    ActionBar给用户提供了一种亲近且有导向性的操作方式,但这并不意味着你的应用和其他的应用看起来很相似。如果你想设计更好的ActionBar以满足你的产品品牌,可以在Android样式和主题资源中很容易地做到这一切。


    Android有许多内置的Activity主题,如"dark"或者"light"ActionBar样式。你可以扩展这些主题进一步自定义你的ActionBar样式。


   提示:如果你使用支持包的API来创建ActionBar, 你必须使用(或者重写)"Theme.AppCompat"家族的样式(而不是Theme.Holo家族,在API 11或者更高版本中有效)。这样做,每一个样式属性你都必须声明两次:一次使用平台样式属性(android:属性),一次使用包含在支持包中的样式属性(appcompat.R.attr属性,属性的上下文实际上是你的应用)。下边通过示例来详解。


   使用Android主题

   Android拥有两种基本的Activity主题,指定了ActionBar的颜色:

  •  Theme.Holo 暗色主题
  •  Theme.Holo.light 浅色主题 


          你可以应用这些主题到你的整个应用或者单独的某一个Activity上,通过在你的清单文件中声明它们:在<application>节点或者<activity>节点下的android:theme属性。

   例如:
<application android:theme="@android:style/Theme.Holo.Light" ... />

    你也可以使用暗色的ActionBar当其余的Activity使用浅色的方案声明Theme.Holo.Light.DarkActionBar主题。

   当使用支持包时,必须替换成Theme.Appcompat主题:
  •  Theme.AppCompat 暗色主题
  •  Theme.AppCompat.Light 浅色主题
  •  Theme.AppCompat.Light.DarkActionBar 带暗色的ActionBar的浅色主题 
   确保你所使用的ActionBar图标与ActionBar的颜色对比适当。


   自定义背景


   为了改变ActionBar的背景,创建一个自定义的主题,重写actionBarStyle属性。这个属性指向另外一个样式在你指定一个资源图片而重写background属性。
   

   如果你使用导航标签或分割ActionBar,你也可以指定它们的背景分别使用backgroundStacked和backgroundSplit属性。

   警告:声明一个恰当地父主题对于继承它实现自定义主题和样式十分重要。如果没有父样式,你的ActionBar将会没有许多的样式属性,除非你显示地声明它们。




0 0