1. ホーム
  2. android

[解決済み] プログラムによるボタンの色合いを追加する方法

2022-04-15 21:55:41

質問

新しいAppCompatライブラリでは、このようにボタンの色合いを変更することができます。

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/follow"
    android:id="@+id/button_follow"
    android:backgroundTint="@color/blue_100"
    />

コード内でボタンの色合いをプログラム的に設定するにはどうすればよいですか? 私は基本的に、ユーザーの入力に基づくボタンの条件付きカラーリングを実装しようとしています。

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

によると ドキュメント に関連するメソッドは android:backgroundTint setBackgroundTintList(ColorStateListリスト)

更新

フォローはこちら リンク は、Color State List Resourceの作成方法について説明します。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:color="#your_color_here" />
</selector>

で読み込みます。

setBackgroundTintList(contextInstance.getResources().getColorStateList(R.color.your_xml_name));

ここで contextInstance のインスタンスです。 Context


AppCompartを使用して

btnTag.setSupportButtonTintList(ContextCompat.getColorStateList(Activity.this, R.color.colorPrimary));