私はAndroidを学び始めたばかりです。 ImageView
のイメージを変更するにはどうすればいいですか?すなわちそれはレイアウトで設定されたいくつかの画像を持っていますが、私はコーディングを通してその画像を変えたいのですがどうすればいいですか?
これがxmlファイルです
<LinearLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:background="#cc8181"
>
<ImageView
Android:id="@+id/image"
Android:layout_width="50dip"
Android:layout_height="fill_parent"
Android:src="@drawable/icon"
Android:layout_marginLeft="3dip"
Android:scaleType="center"/>
返信いただきありがとうございます。
Xmlファイルを使用してimageviewを作成した場合は、手順に従ってください。
解決策1:
ステップ1:XMLファイルを作成する
<LinearLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:background="#cc8181"
>
<ImageView
Android:id="@+id/image"
Android:layout_width="50dip"
Android:layout_height="fill_parent"
Android:src="@drawable/icon"
Android:layout_marginLeft="3dip"
Android:scaleType="center"/>
</LinearLayout>
ステップ2:アクティビティを作成する
ImageView img= (ImageView) findViewById(R.id.image);
img.setImageResource(R.drawable.my_image);
解決策2:
Javaクラスからimageviewを作成した場合
ImageView img = new ImageView(this);
img.setImageResource(R.drawable.my_image);
ImageView API を見てください。いくつかのsetImage*
メソッドがあります。どちらを使用するかは、提供する画像によって異なります。リソースとして画像がある場合(例:ファイルres/drawable/my_image.png)
ImageView img = new ImageView(this); // or (ImageView) findViewById(R.id.myImageView);
img.setImageResource(R.drawable.my_image);
この問題をもう少し詳しく説明するために、次のようにビットマップを直接設定することもできます。
ImageView imageView = new ImageView(this);
Bitmap bImage = BitmapFactory.decodeResource(this.getResources(), R.drawable.my_image);
imageView.setImageBitmap(bImage);
もちろん、このテクニックは画像を変更する必要がある場合にのみ役に立ちます。
if (Android.os.Build.VERSION.SDK_INT >= 21) {
storeViewHolder.storeNameTextView.setImageDrawable(context.getResources().getDrawable(array[position], context.getTheme()));
} else {
storeViewHolder.storeNameTextView.setImageDrawable(context.getResources().getDrawable(array[position]));
}