我想改变动作栏的颜色,但我不擅长制作图像资源,所以我想知道是否有可能在没有图像的情况下做到这一点。比如为某些属性或其他东西设置颜色?我冲浪了很多但是有太多令人困惑的答案,我无法弄清楚要使用哪一个 我正在为8以上的sdk开发,所以我正在使用支持库。请帮忙。
答案 0 :(得分:3)
从Android Action Bar Style Generator
生成您想要的主题将它生成的所有文件复制到res文件夹和VOILA中的相应文件夹..;)
答案 1 :(得分:2)
您可以轻松找到答案here。或者您可以click here轻松创建图像资源。但无论如何,这就是你如何做到的 首先,在项目的“values”文件夹中的“colors.xml”中为操作栏定义所需的颜色,如下所示:
<color name="customColor">#f1f1f1</color>
然后在drawable文件夹中创建一个名为“actionbar_drawable.xml”的新.xml文件。它必须是一个“形状”可绘制的。
抽拉\ actionbar_drawable.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid
android:color="@color/customColor"/>
</shape>
现在使用以下代码在“values”文件夹中创建“themes.xml”:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<style name="CustomActionBar" parent="@style/Theme.AppCompat.Light">
<item name="android:actionBarStyle" tools:targetApi="11">@style/CustomBar</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/CustomBar</item>
</style>
<style name="CustomBar"
parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@drawable/actionbar_drawable</item>
<!-- Support library compatibility -->
<item name="background">@drawable/actionbar_drawable</item>
</style>
</resources>
然后在您的清单文件中,为您的活动设置主题,如下所示:
android:theme="@style/CustomActionBar"
这就是全部。现在您不必制作任何图像资源。希望它对你有所帮助。
答案 2 :(得分:1)
activity.getSupportActionBar().setBackgroundDrawable(new ColorDrawable(activity.getResources().getColor(R.color.my_color)));