web-dev-qa-db-ja.com

Android ImageViewに画像が表示されませんか?

次のコードが機能しない理由を誰かに教えてもらえますか?画像がまったく表示されない。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
     Android:orientation="vertical"
     Android:layout_width="fill_parent"
     Android:layout_height="fill_parent"

   <ImageView
          Android:src="@drawable/splashscreen"
          Android:scaleType="center"
          Android:layout_width="wrap_content"
          Android:layout_height="wrap_content" />

</RelativeLayout>
19
comead

私の場合、アプリケーションを実行すると、フラグメントのすべてのimageViewsが表示されません。問題は、 "FragmentActivity"から "Activity"クラスを拡張することです。 "FragmentActivity"を "AppCompatActivity"に変更します

多分これは誰かを助けるでしょう。

25
bst91

ソース画像ファイルをどこに置きましたか?それはDrawableフォルダの下ですか?その場合は、イメージのmdpi、hdpi、xhdpi、xxhdpiイメージソースを作成し、それらをmdpi、hdpi、xhdpi、xxhdpiフォルダーに配置します。

9
Kai Wang

これは、レイアウトxml、テーマなどを確認した後、私のために機能したソリューションです。「extends Activity」をJavaクラスから「extends AppCompatActivity」に変更するだけです。

以前に提案された解決策のいくつかがうまくいった場合、ImageView画像が表示されないという同じ問題を抱えている他の解決策もこれを試す可能性があります。

6
Clark Kent

以下を確認してください。

  1. UIスレッドでsetContentView(スプラッシュスクリーン用)を呼び出していますか
  2. スプラッシュスクリーンの後に表示している他のアクティビティ(またはビュー)がありますか(つまり、スプラッシュスクリーンを無効にしますsetContentView)?
  3. ImageViewlayout_heightおよびlayout_widthで、wrap_contentの代わりにmatch_parentを使用してみます。
3
kenj

同じ問題があり、AppCompatActivityを拡張して修正し、イメージの名前を正しい標準に変更しました。
私の画像名(以前):splash-1(機能しませんでした)。
そして、イメージ名をsplash1に変更してみました。
その後、すべてが機能しました。注:画像ファイルもこの問題の原因である可能性があります。

2
Jasbin Karki

Nullビットマップ=使用できない画像。

これは、画像が実際に使用される方法の基礎です。画像がAndroid=で使用され、割り当てられている場合、実際には画像をビットマップに変換します。サイズなどの特定のパラメーターに応じて、失敗する可能性があります。何らかの障害が発生したため、画像が変換され、nullとして返されます。

2
JoxTraex

ドローアブルファイルの形式は何ですか? Androidは.PNGほとんど。

2
Kurty

画像サイズを少し小さくしてみてください、Androidスタジオは高画素の画像をサポートしていません。とにかくそれは私の問題を解決しました

1
rubal islam

画像の名前を確認してください。例:「img-icon-butterfly.png」これらのタイプの名前は変更し、「-」を削除する必要があるため、代わりに「imgbutterfly.png」のような名前を使用します。

1
Mayank

しないでください作成描画可能自分でフォルダを作成します。 Android studio。のImage Assetオプションで再作成します。

私の場合、問題はドローアブルフォルダー自体でした。自分でドローアブルフォルダを作成しました。それは正しくありません。 Androidスタジオでは、画像アセットオプションを使用してドローアブルフォルダーを作成する必要があります。理由はわかりませんでしたが、問題が解決されました。

1
kokabi

私の場合、画像のリストから画像を選択しているときに画像が表示されませんでした。

プロジェクトを再構築することで修正されました。

ビルド->プロジェクトの再構築

1
Rahul Makhija

画像ファイル名も重要です。画像に名前を付けるときは、スペースを入れないでください。代わりに「_」または何かを使用してください

1
Mohammad

私も同じ問題を抱えていました。それがどれほど簡単だったか、本当に信じられません。これはあなたにとって問題ではないかもしれませんが、これは私のためにそれを修正しました。私の画像ファイルの名前はss-logo.pngでした。 Android Studioでは画像ファイルにダッシュを使用できません。ss_logo.pngに変更すると、完全に機能しました。画像ファイル名には文字、数字、アンダースコアのみを使用してください。これがお役に立てば幸いです。

1
L.C.

画像の色を確認してください...白い背景を使用していて、白い色の画像を使用している場合は表示されません...画像の背景コンテナを他の色に変更するか、画像の色を変更してください。私は本当にこの状況に直面し、多くの時間を無駄にしました...これが誰かを助けることを願っています...

0
BharathRao

Android:background="@drawable/your_image"ではなくapp:srcCompat="@drawable/your_image"をお試しください

0
Sardorbek Rkh

私はまったく同じ問題に直面していました。私は再構築を試みましたが、それは助けにはなりませんでした。最後に、私はサイズ変更オンラインPNGリサイザーを使用して2400x2400から1200x1200の元のサイズの画像を作成し、次に圧縮オンラインコンプレッサーを使用してファイルサイズを590KBから150KBに変更します。

0
Rohit Pal

私は同じ問題に直面していました。少し作業を行った結果、デザインプレビューではレンダリングされているが実際のデバイスではレンダリングされていないイメージをドローアブル(anydpi)に配置すると、問題が発生することがわかりました。それで、私はイメージをdrawable(anydpi)ではなく単純なドローアブルフォルダの中に置きました。これで問題が解決しました。

PNG画像をDrawableフォルダーにコピーして貼り付け、すべての情報とパラメーターをXMLファイルに設定しました

--->画像はプレビューに表示されましたが、実際のデバイス/エミュレータには表示されませんでした。

だから-> Java Activityで、私はそれをプログラム的に思い出した:

  ImageView imview = (ImageView) findViewById(R.id.IdFromXML);
    imview.setImageResource(0);
Drawable draw = getResources().getDrawable(R.drawable.NameOfTheFileInFolder);
draw = (draw);
imview.setImageDrawable(draw);

できた!

必要に応じて画像をPNGに変換します。オンラインでたくさんの無料のコンバーター。

0
Tomkat

ImageViewには2つのオプションsrcおよびsrcCompactがあります。両方を試して、どちらが機能しているかを確認してください。

Android:src="@drawable/slide_view_4"

そして

Android:srcCompact="@drawable/slide_view_4"
0