Как изменить образ ImageView?
Я только начал изучать 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"/>
спасибо за ответ.
Ответы
Ответ 1
Если вы создали изображение с использованием файла 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:
Если вы создали образ из класса Java
ImageView img = new ImageView(this);
img.setImageResource(R.drawable.my_image);
Ответ 2
Посмотрите 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);
Ответ 3
Чтобы немного поработать над этим вопросом, вы также можете установить растровое изображение напрямую, например:
ImageView imageView = new ImageView(this);
Bitmap bImage = BitmapFactory.decodeResource(this.getResources(), R.drawable.my_image);
imageView.setImageBitmap(bImage);
Конечно, этот метод полезен, только если вам нужно изменить изображение.
Ответ 4
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]));
}