没有图像资源时,无法设置图像视图的背景颜色

时间:2012-04-18 17:48:06

标签: android android-imageview setbackground

我想为ImageView设置背景颜色,当imageview有图像资源时,它可以工作,我得到我的背景颜色但是当图像视图没有图像资源时,SetBackgroundColor不要工作,什么都不做,这是我的代码:

xml布局:

       <ImageView android:layout_centerHorizontal="true"
        android:id="@+id/favor_item_image" 
        android:layout_alignParentTop="true" android:layout_height="wrap_content"
        android:layout_width="match_parent" android:adjustViewBounds="true"/>

java代码:

       ImageView favorImage = (ImageView) MyView.findViewById(R.id.favor_item_image);  
       //favorImage.setImageResource(R.drawable.btndelete);
       favorImage.setBackgroundColor(Color.argb(255,255,0,0));

所以,当我评论这一行://favorImage.setImageResource(R.drawable.btndelete);我无法设置图像视图背景颜色,但是当我取消注释这一行时,setBackgroundColor工作正常。

请帮助。 谢谢

3 个答案:

答案 0 :(得分:6)

您没有看到任何内容的原因是因为您将layout_height设置为wrap_content。如果在ImageView上没有设置图像,wrap_content会将高度设置为0.如果希望在没有图像的情况下显示颜色,则必须将layout_height设置为实际值,例如50dp。

答案 1 :(得分:1)

ImageView的高度为wrap_content,当您只设置背景颜色时,它没有内容。因此不会出现。您应该能够通过设置不同的高度来解决这个问题。

答案 2 :(得分:0)

尝试设置:android:adjustViewBounds=false我可能会弄错,但当设置为true时,如果视图没有图像,视图可能会缩放到0宽度和0高度。