我有一個有兩個 View 的應用
<com.myexample.ui.view.BackgroundView android:id="@+id/id_draw_canvas_classroom" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="3dp" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_marginTop="3dp" android:layout_weight="1" android:background="#FFFFFFFF" /> <com.myexample.ui.view.FrontView android:id="@+id/id_draw_canvas_user" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="3dp" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_marginTop="3dp" android:layout_weight="1" android:background="#00000000" />
這個view是重疊的,我在后臺的view中加載了一段時間的信息。在那段時間里,我想將 FrontView 設置為白色,然后(當背景完成加載時)變為透明。
在 FrontView 中,我有一個帶有位圖的 Canvas 。正在工作,如果我想將背景設置為透明,我可以這樣做
canvas.drawColor(0);
設置背景為白色
canvas.drawColor(-1);
如果無法將白色更改為透明,試試這個:
/*
* A = Alpha a.k.a. transparency
* R = Red color
* G = Green color
* B = Blue color
*
* All of them have a range from 0 to 255
*/
canvas.drawARGB(0, 225, 225, 255);
或者
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
第一個選項更好,因為它更精確,例如,如果您想將其設置得不那么透明。