代码是这样:setBackgroundColor(0x33ffffff);、但是xml文件就不能写0x... xml文件是这样:<solid android:color="#33ffffff" />
我想把0x33ffffff转换成# 开头的颜色,我尝试过直接去掉0x换成#,发现颜色不一样,网上也查不到方法,最多只能查到十六进制转RGB,或者RGB转十六进制。
欢迎选择我的课程,让我们一起见证您的进步~~
顏色轉換是對的,估計是控制透明度疊加問題。如果無透明度不會產生色差。
<RelativeLayout 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:background="#33FFFFFF" > <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:background="#33FFFFFF" android:text="@string/hello_world" android:textColor="#33FFFFFF" /> </RelativeLayout>
這段程式碼直接加載,你會發現textview的背景色有突出的一塊
0x33ffffff也是十六進位吧,找找轉換演算法或對應的軟體轉換
請使用Color.parseColor("#33ffffff")方法來取得轉後的值, 然後設定到背景上
顏色轉換是對的,估計是控制透明度疊加問題。如果無透明度不會產生色差。
這段程式碼直接加載,你會發現textview的背景色有突出的一塊
0x33ffffff也是十六進位吧,找找轉換演算法或對應的軟體轉換
請使用Color.parseColor("#33ffffff")方法來取得轉後的值, 然後設定到背景上