Когда я изменяю изображение программно, оно показывает новое изображение поверх старого изображения, которое изначально задано в файле макета?
Вот фрагмент моего файла макета:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="39dp"
android:gravity="center_vertical" >
<ImageView
android:id="@+id/qStatusImage"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_margin="5dp"
android:background="@drawable/thumbs_down"
/>
<TextView
android:id="@+id/grp_child"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="@color/radio_colors"
android:textStyle="normal"
android:background="@color/grey"
/>
</LinearLayout>
И код, который устанавливает imageView:
@Override
public View getChildView(final int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
//Answers
if(answersGroup != null)
answersGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// int index = answersGroup.indexOfChild(findViewById(answersGroup.getCheckedRadioButtonId()));
qImageView = (ImageView) V.findViewById(R.id.qStatusImage);
if(ans ==0 || ans == 5){
// qSV.setImageResource(0);
qImageView.setImageResource(R.drawable.thumbs_up);
}
else
qImageView.setImageResource(R.drawable.thumbs_down);
}
});
Что мне не хватает?
image.setImageResource(R.drawable.icon_dot1);
setBackgroundResource()
:( не удаляло существующее изображение перед использованием нового изображения .. так что у меня два изображения сталкиваются там.setImageResource()
Сработало tho :). Тем не менее, этот пост направил меня на верный путь - спасибо за оба ответа!setImageResource
?ImageView.setImageResource(R.drawable.image);
работал у меняИспользование в XML:
Использование источника:
источник
Короткий ответ
Просто скопируйте изображение в свою
res/drawable
папку и используйтеподробности
Разнообразие ответов может вызвать небольшую путаницу. У нас есть
setBackgroundResource()
setBackgroundDrawable()
setBackground()
setImageResource()
setImageDrawable()
setImageBitmap()
Все методы , указанные
Background
в имени, относятся кView
классу, а не кImageView
конкретному. Но посколькуImageView
наследуется отView
вас, вы тоже можете их использовать. Методы, имеющиеImage
в своем названии, относятся конкретно кImageView
.Все
View
методы делают одно и то же (хотяsetBackgroundDrawable()
и устарели), поэтому мы просто сосредоточимся на нихsetBackgroundResource()
. Точно так жеImageView
все методы делают одно и то же, поэтому мы просто сосредоточимся на нихsetImageResource()
. Единственная разница между методами - это тип передаваемого вами параметра.Настроить
Вот файл
FrameLayout
, содержащий файлImageView
.ImageView
Изначально не имеет никакого образа в нем. (Я добавил только для того,FrameLayout
чтобы обвести его рамкой. Таким образом, вы можете видеть крайImageView
.)Ниже мы сравним разные методы.
setImageResource ()
Если вы используете ImageView
setImageResource()
, то изображение сохраняет свое соотношение сторон и изменяется в соответствии с размером. Вот два разных примера изображений.imageView.setImageResource(R.drawable.sky);
imageView.setImageResource(R.drawable.balloons);
setBackgroundResource ()
С
setBackgroundResource()
другой стороны, использование View заставляет ресурс изображения растягиваться, чтобы заполнить вид.imageView.setBackgroundResource(R.drawable.sky);
imageView.setBackgroundResource(R.drawable.balloons);
Обе
Фоновое изображение View и изображение ImageView рисуются отдельно, поэтому вы можете установить их оба.
источник
setImageResource
:Sets a drawable as the content of this ImageView. This does Bitmap reading and decoding on the UI thread, which can cause a latency hiccup. If that's a concern, consider using setImageDrawable(Drawable) or setImageBitmap(Bitmap) and android.graphics.BitmapFactory instead.
Я думаю это поможет тебе
источник
В вашем XML для представления изображения, где вы
android:background="@drawable/thumbs_down
изменили это наandroid:src="@drawable/thumbs_down"
В настоящее время он помещает это изображение в качестве фона для представления, а не фактическое изображение в нем.
источник
В XML-дизайне
Рисуемое изображение через код
Образ сервера
источник
Ты можешь использовать
или в java java
источник