Как я могу изменить изображение ImageView? [дубликат]
этот вопрос уже есть ответ здесь:
изменение источника ImageView
8 ответов
Я только начал изучать 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"/>
спасибо за ответ.
4 ответов:
Если вы создали imageview с помощью xml-файла, то выполните следующие действия.
Решение 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:
Если вы создали imageview из класса Java
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])); }
Comments