84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
代码是这样: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")方法来获取转后的值, 然后设置到背景上