帮助将颜色十六进制存储为Java中的整数

mma*_*tax 2 java android hex

我需要#F0FFF0在android应用程序中表示十六进制颜色(存储为整数).我将其存储为:

int color = 0xF0FFF0;
Run Code Online (Sandbox Code Playgroud)

但是在渲染时颜色似乎很明显(事实上,它是黑色的).我是否错误地存储了颜色?

f20*_*20k 6

也许你需要设置alpha.即.

int color = 0xFFF0FFF0;

其中前两个FF表示alpha是完全不透明的.请参阅:http: //developer.android.com/reference/android/graphics/Color.html


小智 6

Android使用Hex ARGB值,格式为#AARRGGBB.第一对字母AA代表Alpha通道.您必须将十进制不透明度值转换为十六进制值.以下是步骤:

Alpha Hex Value Process

  1. 将您的不透明度作为十进制值并乘以255.因此,如果您有一个50%不透明的块,则十进制值将为.5.例如:.5 x 255 = 127.5
  2. 分数不会转换为十六进制,因此您必须将数字向上或向下舍入到最接近的整数.例如:127.5轮到128; 55.25轮到55.
  3. 在十进制到十六进制转换器中输入您的十进制值,如http://www.binaryhexconverter.com/decimal-to-hex-converter,并转换您的值
  4. 如果只返回单个值,则在其前面加零.例如,如果你试图获得5%的不透明度并且你经历了这个过程,那么你最终会得到D的十六进制值.在它前面添加一个零,使它显示为0D.

这就是你找到alpha通道值的方法.我冒昧地为你整理了一系列价值观.请享用!

十六进制不透明度值

  • 100% - FF
  • 95% - F2
  • 90% - E6
  • 85% - D9
  • 80% - CC
  • 75% - 高炉
  • 70% - B3
  • 65% - A6
  • 60% - 99
  • 55% - 8C
  • 50% - 80
  • 45% - 73
  • 40% - 66
  • 35% - 59
  • 30% - 4D
  • 25% - 40
  • 20% - 33
  • 15% - 26
  • 10% - 1A
  • 5% - 0D
  • 0% - 00