Ketika saya mengubah gambar secara terprogram, itu menunjukkan gambar baru di atas gambar lama yang awalnya disetel dalam file layout?
Berikut ini cuplikan file tata letak saya:
<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>
Dan kode yang menyetel 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);
}
});
Apa yang saya lewatkan?
image.setImageResource(R.drawable.icon_dot1);
setBackgroundResource()
:( tidak menghapus gambar yang ada sebelum menggunakan gambar baru .. jadi saya mendapat dua gambar bertabrakan di sana.setImageResource()
Berhasil :). Tetap saja .. pos tersebut membuat saya berada di jalur yang benar - terima kasih atas kedua jawaban tersebut!setImageResource
?ImageView.setImageResource(R.drawable.image);
bekerja untuk sayaGunakan dalam XML:
Penggunaan sumber:
sumber
Jawaban singkat
Cukup salin gambar ke
res/drawable
folder Anda dan gunakanDetail
Variasi jawaban dapat menyebabkan sedikit kebingungan. Kita punya
setBackgroundResource()
setBackgroundDrawable()
setBackground()
setImageResource()
setImageDrawable()
setImageBitmap()
Semua metode dengan
Background
namanya semua milikView
kelas, bukanImageView
secara khusus. Tapi karenaImageView
mewarisi dariView
Anda bisa menggunakannya juga. Metode denganImage
nama mereka adalah milik khususImageView
.Semua
View
metode melakukan hal yang sama satu sama lain (meskipunsetBackgroundDrawable()
sudah usang), jadi kami hanya akan fokussetBackgroundResource()
. Demikian pula,ImageView
semua metode melakukan hal yang sama, jadi kami hanya akan fokussetImageResource()
. Satu-satunya perbedaan antara metode ini adalah jenis parameter yang Anda berikan.Mempersiapkan
Ini
FrameLayout
yang berisiImageView
. TheImageView
awalnya tidak memiliki gambar apapun di dalamnya. (Saya hanya menambahkanFrameLayout
sehingga saya bisa memberi batas di sekelilingnya. Dengan begitu Anda bisa melihat tepiImageView
.)Di bawah ini kami akan membandingkan berbagai metode.
setImageResource ()
Jika Anda menggunakan ImageView
setImageResource()
, maka gambar akan mempertahankan rasio aspeknya dan diubah ukurannya agar pas. Berikut adalah dua contoh gambar yang berbeda.imageView.setImageResource(R.drawable.sky);
imageView.setImageResource(R.drawable.balloons);
setBackgroundResource ()
setBackgroundResource()
Sebaliknya, menggunakan View menyebabkan sumber daya gambar direntangkan untuk mengisi tampilan.imageView.setBackgroundResource(R.drawable.sky);
imageView.setBackgroundResource(R.drawable.balloons);
Kedua
Gambar latar View dan gambar ImageView digambar secara terpisah, sehingga Anda dapat mengatur keduanya.
sumber
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.
Saya pikir ini akan membantu Anda
sumber
Dalam XML Anda untuk tampilan gambar, di mana Anda telah
android:background="@drawable/thumbs_down
mengubahnya menjadiandroid:src="@drawable/thumbs_down"
Saat ini menempatkan gambar itu sebagai latar belakang tampilan dan bukan gambar sebenarnya di dalamnya.
sumber
Dalam Desain XML
Gambar Dapat Digambar melalui kode
Gambar server
sumber
Kamu bisa memakai
atau di java java
sumber