27

attr android:activatedBackgroundIndicator のデフォルトの色 (青) を変更できますか?

target 18 と minimun 11 用のアプリケーションを開発しています。

ありがとうございました

4

2 に答える 2

55

テーマで変更する方法は次のとおりです。

テーマを更新して、属性にカスタム スタイルを適用しますactivatedBackgroundIndicator(ここでは、親テーマは Holo Light ですが、もちろん変更できます)。

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

「描画可能な」リソース フォルダーで、XML ファイル list_activated_background を作成し、新しい背景インジケーターを定義します。次に例を示します。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">  
   <item android:state_activated="true" android:drawable="@color/OrangeLight" />
   <item android:state_checked="true" android:drawable="@color/OrangeDark" />
   <item android:state_pressed="true" android:drawable="@color/OrangeDark" />
   <item android:drawable="@android:color/transparent" />  
</selector>

android:theme="@style/AppTheme"次に、この例では、マニフェスト ファイルでカスタム テーマを呼び出していることを確認してください。

于 2013-09-27T03:09:46.690 に答える
6

Lollipop 以降では、colorControlActivated代わりにテーマを設定するオプションがあります。

<style name="AppTheme" parent="@android:style/Theme.Material">
    <item name="colorControlActivated">@color/your_color</item>
</style>

このアプローチが機能するのは、マテリアル テーマのactivatedBackgroundIndicatorセレクターがthemes_material.xmlおよびactivate_background_material.xml?attr/colorControlActivatedに見られるようにアクティブ化状態を使用するためです。

Yoann Hercouet の答えは正しく、ロリポップでも機能することに注意してください。

于 2015-06-30T19:11:24.917 に答える