Android自定义ActionBar背景色、字体颜色等样式style

【背景】

Android中想要去自定义ActionBar的背景色等样式。

【折腾过程】

1.自己找代码,发现对应的配置的地方了:

AndroidManifest.xml

?


1

2

<application

    android:theme="@style/AppTheme" >

找到

/res/values/styles.xml

中的:

?


1

2

3

<style name="AppTheme" parent="@android:style/Theme.Holo.Light">

    <itemname="android:actionModeBackground">@drawable/cab_background_top_xxxstyle</item>

</style>

对应的cab_background_top_xxxstyle是个图片,是深蓝色的,所以效果是:

2.而此处,由于背景色不是通过的Color去定义的,所以无法很简单的通过直接改color而达到改变背景色的效果。

所以只能去考虑换一个这个drawable的png图片。

但是发现该图片时那种9 pitch的,但是自己目前不太懂,不会生成,所以要去研究那个:

【记录】研究Android中的9
patch的图片的原理以及如何去生成对应图片

3.然后看到:

http://jgilfelt.github.io/android-actionbarstylegenerator/

中有帮忙生成actionbar的9patch的图片的,所以去试了试:

然后下载到:

actionbar_style_rocksensor.zip

解压后,得到很多对应的文件:

 

然后去把所有文件都拷贝到项目中,去试试效果:

效果还不错。

 

【总结】

以后如果想要换整体的ActionBar等主题的话,就可以去利用:

Android
Action Bar Style Generator

如果上述方法嫌麻烦的话,这里给出一种简单的。

Activity会自动使用style.xml文件中定义的样式,只要对这些样式略作修改(继承需要的主题,重写特定属性)就可以达成比较简单的定制。

<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <!--
        Base application theme for API 14+. This theme completely replaces
        AppBaseTheme from BOTH res/values/styles.xml and
        res/values-v11/styles.xml on API 14+ devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Holo.Light">
        <!-- API 14 theme customizations can go here. -->
        <item name="android:actionBarStyle">@style/my_actionbar_style</item>
    </style>

    <style name="my_actionbar_style" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">#647b97</item>
        <item name="android:titleTextStyle">@style/AcBar_titleStyle</item>
    </style>
    <style name="AcBar_titleStyle">
        <item name="android:textSize">18sp</item>
        <item name="android:textColor">#FFFFFF</item>
    </style>

</resources>

android:Widget.ActionBar是系统自定义的样式,包含的内容比较多。现在对这个样式中的背景色和标题色进行修改,android:background影响背景颜色,android:titleTextStyle影响标题的样式(因为有多项,所以要再引用一个自定义的样式)。

时间: 2024-10-31 06:35:00

Android自定义ActionBar背景色、字体颜色等样式style的相关文章

Android自定义带水滴的进度条样式(带渐变色效果)_Android

一.直接看效果 二.直接上代码 1.自定义控件部分 package com.susan.project.myapplication; import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.grap

Android编程实现TextView字体颜色设置的方法小结_Android

本文实例讲述了Android编程实现TextView字体颜色设置的方法.分享给大家供大家参考,具体如下: 对于setTextView(int a)这里的a是传进去颜色的值.例如,红色0xff0000是指0xff0000如何直接传入R.color.red是没有办法设置颜色的,只有通过文章中的第三种方法先拿到资源的颜色值再传进去. 复制代码 代码如下: tv.setTextColor(this.getResources().getColor(R.color.red)); 关键字: android t

Android自定义ActionBar实例_Android

本文实例讲述了Android自定义ActionBar的实现方法.分享给大家供大家参考.具体实现方法如下: Android 3.0及以上已经有了ActionBar的API,可以通过引入support package在3.0以下的平台引用这些API,但这儿呢,完全自定义一个ActionBar,不用引入额外jar包,参照的是开源的UI组件GreeenDroid,项目主页:https://github.com/cyrilmottier/GreenDroid .提取出关于ActionBar的相关文件,你可

Android系统更改状态栏字体颜色_Android

随着时代的发展,Android的状态栏都不是乌黑一片了,在Android4.4之后我们可以修改状态栏的颜色或者让我们自己的View延伸到状态栏下面.我们可以进行更多的定制化了,然而有的时候我们使用的是淡色的颜色比如白色,由于状态栏上面的文字为白色,这样的话状态栏上面的文字就无法看清了.因此本文提供一些解决方案,可以是MIUI6+,Flyme4+,Android6.0+支持切换状态栏的文字颜色为暗色.修改MIUI public static boolean setMiuiStatusBarDark

Android 自定义View时使用TypedArray配置样式属性详细介绍_Android

 Android 自定义View时使用TypedArray配置样式属性详细介绍       在自定义view时为了提高复用性和扩展性,可以为自定义的view添加样式属性的配置,比如自定义图片资源.文字大小.控件属性等,就这需要用到TypedArray类,下面以一个自定义的可点击扩展和收缩的TextView为例记录下这个类的简单使用. 先上效果图: 点击以后为 再贴代码: 1.自定义view类: /** * @title ExpandTextView * @description 可扩展TextV

Android自定义ActionBar实例

本文实例讲述了Android自定义ActionBar的实现方法.分享给大家供大家参考.具体实现方法如下: Android 3.0及以上已经有了ActionBar的API,可以通过引入support package在3.0以下的平台引用这些API,但这儿呢,完全自定义一个ActionBar,不用引入额外jar包,参照的是开源的UI组件GreeenDroid,项目主页:https://github.com/cyrilmottier/GreenDroid .提取出关于ActionBar的相关文件,你可

Android 自定义View时使用TypedArray配置样式属性详细介绍

Android 自定义View时使用TypedArray配置样式属性详细介绍 在自定义view时为了提高复用性和扩展性,可以为自定义的view添加样式属性的配置,比如自定义图片资源.文字大小.控件属性等,就这需要用到TypedArray类,下面以一个自定义的可点击扩展和收缩的TextView为例记录下这个类的简单使用. 先上效果图: 点击以后为 再贴代码: 1.自定义view类: /** * @title ExpandTextView * @description 可扩展TextView,可以通

Android系统更改状态栏字体颜色

随着时代的发展,Android的状态栏都不是乌黑一片了,在Android4.4之后我们可以修改状态栏的颜色或者让我们自己的View延伸到状态栏下面.我们可以进行更多的定制化了,然而有的时候我们使用的是淡色的颜色比如白色,由于状态栏上面的文字为白色,这样的话状态栏上面的文字就无法看清了.因此本文提供一些解决方案,可以是MIUI6+,Flyme4+,Android6.0+支持切换状态栏的文字颜色为暗色. 修改MIUI public static boolean setMiuiStatusBarDar

Android编程实现TextView字体颜色设置的方法小结

本文实例讲述了Android编程实现TextView字体颜色设置的方法.分享给大家供大家参考,具体如下: 对于setTextView(int a)这里的a是传进去颜色的值.例如,红色0xff0000是指0xff0000如何直接传入R.color.red是没有办法设置颜色的,只有通过文章中的第三种方法先拿到资源的颜色值再传进去. 复制代码 代码如下:tv.setTextColor(this.getResources().getColor(R.color.red)); 关键字: android te