4

背景色を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は正常に機能します。

助けてください。ありがとう

4

3 に答える 3

6

何も表示されないのは、layout_heightがwrap_contentに設定されているためです。ImageViewに画像が設定されていない場合、wrap_contentは高さを0に設定します。画像なしで色を表示する場合は、layout_heightを50dpなどの実際の値に設定する必要があります。

于 2012-04-18T17:52:13.247 に答える
1

ImageViewの高さはwrap_content、背景色のみを設定した場合はコンテンツがありません。したがって、表示されません。別の高さを設定することでこれを修正できるはずです。

于 2012-04-18T17:52:28.657 に答える
0

設定してみてください:android:adjustViewBounds=false間違っているかもしれませんが、これを設定するとtrue、画像がない場合にビューが幅0、高さ0に拡大縮小される可能性があります。

于 2012-04-18T17:51:55.377 に答える