void setLightBrightness_UNCHECKED(int light, int brightness, int brightnessMode) {
        int b = brightness & 0x000000ff;
        b = 0xff000000 | (b << 16) | (b << 8) | b;
        setLight_native(mNativePointer, light, b, LIGHT_FLASH_NONE, 0, 0, brightnessMode);
    }
看不懂有没有懂的汗

解决方案 »

  1.   

    取色值。取蓝色部分的BYTE字节
      

  2.   

    无上下文,除非知道出处,不然只能猜啊!int b = brightness & 0x000000ff; R G B 阿尔法值与上11低字节,表示只取阿尔法值。
      

  3.   


    int b = brightness & 0x000000ff;   
    这个是只要最后8位,如果是ARGB的话,就是只要alpha了,ARGB都是8位,0~255的整型值,一共32位。b = 0xff000000 | (b << 16) | (b << 8) | b;
    这个是把b本身或上b左移8位,16位,和0xff000000,完了之后应该是0xffaaaaaa,aa就是开始的8位alpha值然后用了那个native函数设置屏幕亮度,那个函数我是看不懂了,也不知道为什么要把b处理成这样
    没了
      

  4.   

    不对不对,错了,ARGB头8位才应该是alpha最后8位应该是B,蓝色