0
我正在繪製自定義視圖類的onDraw()
中的矩形。我希望矩形的顏色透明(例如50%),以便背景能夠透過。自定義視圖類中的Android透明顏色
這裏是我的layout.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/background" >
<MyCustomView
android:id="@+id/myCustomView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
的背景設置在LinearLayout
正如你看到的。
colors.xml:
<color name="my_tranparent_color">#77FFFFFF</color>
某處MyCustomView
的onDraw()
方法:
Paint p = new Paint();
p.setColor(getResources().getColor(R.color.my_tranparent_color));
canvas.drawRect(new Rect(x, y, x + 20, y + 20), p);
結果不是透明的,這只是一個樣灰色。
我得到simular的結果,如果我設置onDraw()
方法中的alpha值:
p.setAlpha(51);
和
<color name="my_tranparent_color">#FFF</color>
確定嗎? '#8fff'是半透明的白色。 '#8000'是半透明的黑色。 –
您可以參考下面的鏈接獲取透明度。 http://stackoverflow.com/a/17239853/3374189 –