前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

Jetpack Compose : TextFieldにdisabledTextColorを適用するには

内容

TextFieldをdisabledな状態にしたい。どうすればよいか。

対応

enabledパラメータをfalseにする。基本はこれだけで、フォーカスが当たらなくなり、編集不可になる。

// 抜粋
TextField(
    enabled = false
)

色が変わるようにする

enabled=falseになったときにそれ用の色を割り当てたい。その場合はcolorsパラメータのdisabledTextColorを使う。

// 抜粋。色の指定は適当
TextField(
    enabled = false,
    colors = TextFieldDefaults.textFieldColors(
        textColor = PrimaryColor,
        disabledTextColor = DisabledColor
    ),

注意点として、textStyleパラメータ内でcolorを割り当てててしまうとそちらが優先されてしまい、 disabledTextColorが使用されなくなる。textStyleではなくcolorsパラメータ内でtextColorを使おう。