Android MaterialComponents の TextInputEditText の style を指定すると InflateException が発生する


Android の MaterialComponents のテキスト入力欄である TextInputEditText を使う場合です。

静的に生成する場合は簡単で xml ファイルで定義するだけです。このとき TextInputLayout の中に TextInputEditText を入れ子にします。

スタイル

TextInputEditText は通常のスタイルの他に、FilledBix と OutlinedBox というものがあります。

TextInputLayout の種類

この外観の変更は TextInputLayout に style を適用するだけで実現可能です。

エラーの内容

しかし実行すると以下のエラーが出てしまうことがあります。

解決方法

アプリ全体のテーマが MaterialComponents のものを継承する必要があります。

これまでアプリ全体のテーマを

としいた箇所を

のようにする必要があります。

動的に OutlinedBox を生成する場合はさらに注意が必要なのですが別の記事で紹介したいと思います。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


  • キュア子の紹介

人気記事ランキング