1

色の選択部分をデザインした e コマース アプリがあります。カスタムの RadioButton と RadioGroup を使用して単一の色を選択します。サーバーから可能な色見本をダウンロードし、各ボタンの背景をペイントします。

問題は、暗い色の場合、下にある画像がにじみ、エッジの周りにかすかな線が見えることです.

次のようになります。

ここに画像の説明を入力

この XML ファイルでカスタム ボタンを定義しました。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">



<item android:state_checked="false" 
    android:drawable="@drawable/color_radio_unselected" />

<item android:state_checked="true" 
    android:drawable="@drawable/color_radio_selected"/>

</selector>

その2つの部分は次のとおりです。

ここに画像の説明を入力 ここに画像の説明を入力

次に、Java で背景を次のようにプログラムでペイントします。

color = new RadioButton[MAX_COLORS];
    color[0]= (RadioButton)findViewById(R.id.color0);
    color[1] = (RadioButton)findViewById(R.id.color1);
    color[2] = (RadioButton)findViewById(R.id.color2);
    color[3] = (RadioButton)findViewById(R.id.color3);
    color[4] = (RadioButton)findViewById(R.id.color4);

<snip>

Drawable d = new BitmapDrawable(getResources(),productDetails.colorSwatchBM.get(thisColor));
        if (sdkVersion < 16) {
           color[i].setBackgroundDrawable(d);
        }
        else {
            color[i].setBackground(d);
        }

サーバーから取得した色見本はわずか 27x27 ピクセルであり、ラジオボタンの画像は、Android が縮尺を変更した後、約 53x53 です。背景をボタンと同じサイズにスケーリングしているように見えますが、色が一緒にエイリアスされます

エッジを目立たなくする方法を知っている人はいますか?

ありがとう!

4

0 に答える 0