android中如何将int颜色代码转换成十六进制
天蓬老师
天蓬老师 2017-04-17 17:40:32
0
3
1042

代码是这样:setBackgroundColor(0x33ffffff);、
但是xml文件就不能写0x...
xml文件是这样:<solid android:color="#33ffffff" />

我想把0x33ffffff转换成# 开头的颜色,我尝试过直接去掉0x换成#,发现颜色不一样,网上也查不到方法,最多只能查到十六进制转RGB,或者RGB转十六进制。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回覆(3)
左手右手慢动作

顏色轉換是對的,估計是控制透明度疊加問題。如果無透明度不會產生色差。

<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")方法來取得轉後的值, 然後設定到背景上

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板