以下是我的应用程序的屏幕截图:
我可以使用R.id.button1访问按钮并使用
更改其背景case R.id.lightgreen:
for (Button currentButton : buttons) {
currentButton.setBackgroundResource(R.drawable.lightgreen);
}
有没有办法访问操作栏及其溢出菜单以同样的方式设置颜色?
[编辑]
ActionBar actnbar;
actnbar.setBackgroundDrawable(R.drawable.blue_button);
这给我一个错误,要求将blue_button转换为drawable,但如果我这样做,那么我将无法设置按钮。
答案 0 :(得分:0)
在项目的values文件夹中定义自定义style.xml,如下所示:
<resources>
<style name="Theme.CustomTHeme" parent="@style/Theme.AppCompat.Light">
<item name="actionBarStyle">@style/Theme.CustomTHeme.ActionBar</item>
</style>
<style name="Theme.CustomTHeme.ActionBar" parent="@style/Widget.AppCompat.ActionBar">
<item name="background">@drawable/header_gradient</item>
<item name="titleTextStyle">@style/Theme.CustomTHeme.ActionBar.TitleTextStyle</item>
</style>
<style name="Theme.CustomTHeme.ActionBar.TitleTextStyle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">#fff</item>
</style>
</resources>
然后在你的AndroidManifest.xml中:
<application
android:name=".App"
android:label="@string/app_name"
android:icon="@drawable/logo"
android:theme="@style/Theme.CustomTHeme">
...
您还必须注意支持其他api-s(其他值文件夹)。
如果您使用的是actionbarcompat支持库,则可以访问使用ActionBarActivity
扩展getSupportActionBar()
的活动中的操作栏并使用
如果不使用支持库,则为setStackedBackgroundDrawable()
或setBackgroundDrawable()
或相应的getActionBar()方法。
答案 1 :(得分:0)
Action Bar Style Generator是设置操作栏样式的绝佳工具。