控制Android Up按钮的按下状态

时间:2014-12-23 21:17:30

标签: android android-actionbar android-drawable

我正在尝试控制操作栏中android up / back图标+标题文本的按下状态是什么颜色。

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="android:homeAsUpIndicator">@drawable/up_button</item>
    <item name="android:actionMenuTextAppearance">@style/H4.Other</item>
    <item name="android:actionMenuTextColor">@color/h4_other</item>
</style>

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">@color/kf_white</item>
    <item name="android:titleTextStyle">@style/H5.Blue</item>
</style>

正如你所看到的,我已经用自己的指标定义了。我试过制作一个选择器,但只处理我提供的图标,而不是Android提供标准压缩颜色的组合图标+标题文本。我问这个的原因是因为在一些三星设备上,标准的按压颜色是一种奇怪的蓝色,这与我的应用程序的风格不符。

1 个答案:

答案 0 :(得分:0)

您可以尝试添加

<item name="android:actionBarItemBackground">@drawable/selector</item>

在你的AppTheme中。 selector.xml将类似于

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:constantSize="false"
android:enterFadeDuration="0"
 android:exitFadeDuration="0" >
<item
    android:state_pressed="true"
    android:drawable="@color/color1" />
<item
    android:state_pressed="false"
    android:drawable="@color/transparent" />
</selector>