Imageviewに画像を表示したいので、drawable
にres
フォルダーを作成し、そこに画像を配置します。何かのようなもの Apple.png
。次に、このコードを使用します。
ImageView iv= (ImageView)findViewById(R.id.img_selected_image);
String path = getApplication().getFilesDir().getAbsolutePath();
InputStream is = new FileInputStream(path + "/Apple.png");
Drawable icon = new BitmapDrawable(is);
Log.i("Fnord", "width="+icon.getIntrinsicWidth()+
" height="+icon.getIntrinsicHeight());
iv.setImageDrawable(icon);
しかし、私がそれを実行すると、Apple.png
名前data/data/package-name/files
。画像を不適切な場所に置いたと思います。画像はどこに置けばいいですか?
setimageでiv.setImageResource(R.drawable.Apple);
として画像名を直接指定できます。
次のコードを使用します。
iv.setImageResource(getResources().getIdentifier("Apple", "drawable", getPackageName()));
アクティビティクラスのコードで描画可能なリソースを設定する代わりに、XMLレイアウトで設定することもできます。
コードは次のとおりです。
<ImageView
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:src="@drawable/Apple" />
// take variable of imageview
private ImageView mImageView;
//bind imageview with your xml's id
mImageView = (ImageView)findViewById(R.id.mImageView);
//set resource for imageview
mImageView.setImageResource(R.drawable.your_image_name);
Res/drawableに入れた画像はAndroidによって処理されます。あなたがしたようにイメージを取得する必要はありません。あなたの場合は、単にiv.setImageRessource(R.drawable.Apple)
を呼び出すことができます
画像を取得するだけで(ImageViewに直接追加しない)、Context.getRessources().getDrawable(R.drawable.Apple)
を呼び出して画像を取得できます。
ImageView iv= (ImageView)findViewById(R.id.img_selected_image);
public static int getDrawable(Context context, String name)//method to get id
{
Assert.assertNotNull(context);
Assert.assertNotNull(name);
return context.getResources().getIdentifier(name, //return id
"your drawable", context.getPackageName());
}
image.setImageResource(int Id);//set id using this method
ここで画像ビューにビットマップオブジェクトを設定したい場合は、単純な2行です `
Bitmap bitmap=BitmapFactory.decodeResource(getResources(),R.drawable.sample_drawable_image);
image.setImageBitmap(bitmap);
Java ClassからImageView
を作成した場合
ImageView img = new ImageView(this);
//Here we are setting the image in image view
img.setImageResource(R.drawable.my_image);
画像ビューで画像を設定する
imageView.setImageResource(R.drawable.myImage);
1>レイアウト自体から画像を追加できます:
<ImageView
Android:id="@+id/iv_your_image"
Android:layout_width="wrap_content"
Android:layout_height="25dp"
Android:background="@mipmap/your_image"
Android:padding="2dp" />
[〜#〜] or [〜#〜]
2>プログラムでJava class:
ImageView ivYouImage= (ImageView)findViewById(R.id.iv_your_image);
ivYouImage.setImageResource(R.mipmap.ic_changeImage);
[〜#〜] or [〜#〜]for fragments:
View rowView= inflater.inflate(R.layout.your_layout, null, true);
ImageView ivYouImage= (ImageView) rowView.findViewById(R.id.iv_your_image);
ivYouImage.setImageResource(R.mipmap.ic_changeImage);