web-dev-qa-db-ja.com

@ drawable /をドロアブルに変換できませんでした

AndroidプロジェクトにUIで使用したい画像を追加しました。my-image.pngに追加しましたdrawableディレクトリ(プロジェクトで作成された4つのドロアブルディレクトリすべてに)、およびImageViewをレイアウトに追加しました:

<ImageView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:id="@+id/imageView"
    Android:layout_alignParentBottom="true"
    Android:layout_alignLeft="@+id/textView"
    Android:layout_marginBottom="63dp"
    Android:src="@drawable/my-image" />

問題は、次のエラーが発生することです。

レンダリングの問題

@ drawable/my-imageをドロアブルに変換できませんでした

これはキャプチャです:

enter image description here

さらに、プロジェクトをコンパイルしようとすると、次のエラーが表示されます。

Gradle:タスク ':MyProject:processDebugResources'の実行に失敗しました。

なぜこれらのエラーが発生するのですか?どうすれば解決できますか?何か不足していますか? Android開発を開始しました。

27
anderZubi
Gradle: Execution failed for task ':MyProject:processDebugResources'.

リソースに命名規則エラーがあるため

file name: must contain only [a-z0-9_.]

ファイル名をmy_imageに変更します

57
Tarsem Singh
Rename this drawable @drawable/my-image to @drawable/my_image 
5
Haresh Chhelana

ファイル名にアンダースコアと小さな文字を使用してみてください、例えば

my_image.png

5
Adil Soomro

Abc ... xyzと0123 ... 9のみを使用するようにしてください。-は使用せず、代わりに_(アンダースコア)を使用してください。

使用する my_name の代わりに my-name。ハイフン(-)はコーディングにおいて特別な意味を持つため、文字列で文字通り使用することはできません。

2
Dharmik Chauhan

命名規則が正しい場合は、次を試してください。

リソースダイアログを開き、画像pngプレビューが表示されるかどうかを確認します。

デザインビューで画像を選択>プロパティに移動>省略記号ボタン>描画可能> PNG画像を検索してクリックします。

プレビューが表示されない場合は、リソースをキャンセルし、画像をpng形式で再度保存してください。

この例では、photoshop CS2を使用しています。 photoshopで画像を開き、[ファイル]> [Web用に保存]> [保存]をクリックを選択します。 ([ファイル]> [名前を付けて保存]は使用しないでください)

0
beaumondo