1. ホーム
  2. アンドロイド

[解決済み】スイッチのオンカラーを変更する方法

2022-04-22 19:04:53

質問

ICSアプリで標準のSwitchコントロールとholo.lightテーマを使用しています。

トグルボタンのハイライトまたはオン状態の色を、標準の水色から緑色に変更したいです。

簡単なはずなのですが、どうにもやり方がわからないのです。

どのように解決するのですか?

今のところ、AppCompat.v7ライブラリのSwitchCompatを使用するのがよいでしょう。そうすれば、簡単なスタイリングでコンポーネントの色を変更することができます。

values/themes.xml:

<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">
    <!-- colorPrimary is used for the default action bar background -->
    <item name="colorPrimary">@color/my_awesome_color</item>

    <!-- colorPrimaryDark is used for the status bar -->
    <item name="colorPrimaryDark">@color/my_awesome_darker_color</item>

    <!-- colorAccent is used as the default value for colorControlActivated,
         which is used to tint widgets -->
    <item name="colorAccent">@color/accent</item>

    <!-- You can also set colorControlNormal, colorControlActivated
         colorControlHighlight, and colorSwitchThumbNormal. -->

</style>

を参照してください。 Android Developers Blog

EDIT :

正しく適用される方法は、以下の通りです。 android:theme="@style/Theme.MyTheme" また、EditTexts、RadioButtons、Switch、CheckBoxes、ProgressBarsなどの親スタイルにも適用することができる。

<style name="My.Widget.ProgressBar" parent="Widget.AppCompat.ProgressBar">

<style name="My.Widget.Checkbox" parent="Widget.AppCompat.CompoundButton.CheckBox">