recherche

Maison  >  Questions et réponses  >  le corps du texte

android中如何将int颜色代码转换成十六进制

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

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

天蓬老师天蓬老师2824 Il y a quelques jours1088

répondre à tous(3)je répondrai

  • ringa_lee

    ringa_lee2017-04-17 17:42:32

    La conversion des couleurs est correcte, il s'agit probablement d'un problème de superposition de transparence des contrôles. S'il n'y a pas de transparence, il n'y aura aucune différence de couleur.

    <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>

    Ce code est chargé directement, et vous constaterez que la couleur d'arrière-plan de la vue texte a une pièce proéminente

    répondre
    0
  • 迷茫

    迷茫2017-04-17 17:42:32

    0x33ffffff est également hexadécimal, recherchez l'algorithme de conversion ou le logiciel de conversion correspondant

    répondre
    0
  • 大家讲道理

    大家讲道理2017-04-17 17:42:32

    Veuillez utiliser la méthode Color.parseColor("#33ffffff") pour obtenir la valeur convertie, puis définissez-la en arrière-plan

    répondre
    0
  • Annulerrépondre