Warning 解消法

【Android Studio】ImageViewのWarning解消法

 
この記事では xml ファイルで ImageView に出る Warning の解消法を紹介しています。
 

ImageView の色が変わっている部分にカーソルを合わせると Missing contentDescription attribute on image と表示されます。


 

これは contentDescription 属性がありませんという Warning です。

contentDescription 属性は、ImageView に指定している画像が何を意味するのか、どんな画像なのかを示すものです。一部機種の読み上げ機能などで反映されるようで、目が不自由な方にも役立つ機能のようです。
 

この記事では、2つの Warning の解消方法を紹介していますので、プロジェクトに合わせてお試しください
 


 

Warning を消す方法

この Warning を消す方法は

  1. contentDescription 属性を付ける
  2. Warning を無視する

の2つがあります。
 

基本的に無視しても問題ないかと思いますが、画像が重要な意味を持っていたり、テキストコンテンツが多いアプリの場合は contentDescription 属性の使用を検討することをお勧めします。

① contentDescription 属性を付ける方法

ImageView の色が変わっている部分にカーソルを合わせると、左側に豆電球のアイコンが表示されるのでクリックします。


 

Set contentDesciption を選択します。


 

android:contentDescription="" が追加されるので、画像の意味を表す適当な文字列を指定します。


 

今度は contentDescription の部分に Warning がついてしまいました。
カーソルを合わせてみると Hardcoded string "Icon", should use "@string" resource と表示されます。


 

これは「文字列を直接書かずに string リソースを使うべきです」という Warning です。string リソースは strings.xml を指しているので、strings.xml に文字列を定義しましょう。
 

Android Studio 画面左側のプロジェクト構造から app → res → values → strings.xml を開きます。


 

strings.xml を開いたら、文字列を定義します。name 値や文字列はプロジェクトに合わせて変更してください。

<string name="image_desc_icon">Icon</string>

 

xml ファイルにもどり、以下のように書き換えます。

android:contentDescription="@string/image_desc_icon"

 

以上で Warning を消すことができました。


 
 

② Warning を無視する方法

ImageView の色が変わっている部分にカーソルを合わせると左側に豆電球のアイコンが表示されるのでクリックします。


 

Suppress: Add ignore:tools="contentDesciption" attribute を選択します。


 

contentDescription を ignore(無視する)コードが追加され、Warning が消えました。


 
 

一括指定する方法
複数の ImageView 要素を使用している場合、全てに tools:ignore="contentDescription" を書くのが面倒なことがあります。

その場合は、ルート要素に一括指定することもできます。


 
 

まとめ

以上が ImageView を使用した時に出る Warning の解消法でした。

Warning はエラーとは違って、プログラムの動作自体に影響が出るわけではありませんが、全て解消しておいた方がコードがスッキリとして気持ちが良いものです。

少し面倒なこともありますが、Warning が出た場合はお試しください

ABOUT ME
Sara
Sara
「わかりやすく・シンプル」をモットーに、携帯アプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂
独学は難しそうと感じたら

 
独学でプログラミングを勉強するのは難しそう、効率的にプログラミングを学びたいという方はオンラインスクールがオススメです。

オンラインスクールを選ぶときのポイント

  • 無料体験があること
  • 個別サポートがあること

自分にあったスタイルを見つけるために、無料体験のご利用をオススメします。(無料体験後に自分には合わないなと感じたらハッキリ断ってしまって問題ありません。)
 
個別サポートもプログラミング学習に挫折しないために重要なポイントです。エラーや困った時にすぐに個別対応をしてくれるスクールを利用して下さい。

ここでは3つのオンラインスクールを紹介します。
全て無料体験がありますので、ぜひ自分に合ったスクールを見つけてみて下さい????
 

1. TechAcademy(テックアカデミー)

オンライン完結で勉強できるスクールで、コースがとても充実しています。チャットで質問すればすぐに回答を得られるのが一番のおすすめポイントです。
オリジナルのサービスやアプリの開発もサポートしてくれるので、開発したいものが決まっている人にもオススメです。

無料体験はこちら

2. CodeCamp(コードキャンプ)

一対一で受講できる個別指導のプログラミングスクールです。
Webデザイン・Webサービス開発・アプリ開発などを幅広く学習することができます。
マンツーマンなので自分のペースで学習できて、質問もその都度できるのがメリットです。

無料体験レッスンはこちら

3. Treehouse

英語でも良い、英語とプログラミングを同時に勉強したいという方は Treehouse がオススメです。月25ドルで始めることができて、たくさんのプログラミング言語を学ぶことができます。
個別サポートはありませんが、掲示板が充実しています。ほとんどの場合、質問してから30分程度で回答を得ることができます。

7日間の無料体験はこちら

COMMENT

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

CAPTCHA