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


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

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

スタイル

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

TextInputLayout の種類

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

エラーの内容

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

解決方法

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

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

としいた箇所を

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

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

ITエンジニア募集中!

キュアコード株式会社はITエンジニアを募集しております。少人数の職場なので、上流・下流やサーバー・クライアント対応の垣根なく、あなたの強みを活かしながら いろいろなことにチャレンジ可能です。エンジニアとしての未経験の方、経験が少ない方も歓迎しています。

下記よりITエンジニア募集の採用情報をご覧いただけます。


コメントを残す

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

CAPTCHA