36

私はいくつかのことを試しましたが、何も機能していません... Android の ImageView で BackgroundColor を変更しようとしていますが、何も起こりません...

ここに私のxmlがあります:

<ImageView
   android:id="@+id/imageView1"
   android:layout_width="350dp"
   android:layout_height="550dp"
   android:layout_above="@+id/btnInfo"
   android:layout_alignLeft="@+id/fundo"
   android:layout_alignRight="@+id/btnInfo"
   android:layout_alignTop="@+id/fundo"
   android:layout_centerHorizontal="true"
   android:contentDescription="@string/backgroundMain" />

そしてコード:

public void onStart()
    {
        super.onStart();
        Log.d("Teste", "In the onStart() event 5");

        ImageView backgroundImg = (ImageView) findViewById(R.id.imageView1);
        backgroundImg.setBackgroundColor(Color.rgb(255, 255, 255));
    }

私は何が欠けていますか?

4

5 に答える 5

34

RGB:255、255、255 は WHITE のカラー コードです。親レイアウトの背景色も白なので、違いはわかりません。

のように色を変えてみてください。

backgroundImg.setBackgroundColor(Color.rgb(100, 100, 50));

または、親レイアウトの背景色を変更します。

于 2013-10-19T04:51:30.223 に答える
27

コードに問題はありません。しかし、私はこれを xml で行うことを好みます。これにより、問題も解決します。これを ImageView タグに追加するだけです。

android:background="@android:color/black"
于 2013-10-19T02:09:03.300 に答える
2

使用PorterDuff.Mode:

imageView1.setColorFilter(colorCode,android.graphics.PorterDuff.Mode.SRC_IN);

PorterDuff.modeAndroid で画像を構成およびオーバーレイする方法を提供します。Android グラフィックスでの PorterDuff.Mode の意味も参照してください。

于 2015-07-21T10:16:51.077 に答える