‘壹’ color 加透明度
我们可以在color文件中定义background="#XXxxxxxx"
半透明颜色值和我们平时使用的颜色不一样,半透明颜色值共8位,前2位是透明度,后6位是颜色。
也就是透明度和颜色结合就可以写出各种颜色的透明度.
举个例子:
黑色全透明:#00000000
白色半透明:#80FFFFFF
黑色半透明:#80000000
黑色不透明:#FF000000
转自:
Color设置透明度(android)_紫色的路的博客-CSDN博客_color 透明
‘贰’ android 怎么给一块区域设置背景半透明
activity的背景透明,只需在只要在配置文件内activity属性配置内加上android:theme="@android:style/Theme.Translucent"就好了。
但是想要多方面的设置theme的话,就要在values里设置风格先:
加透明:
先在res/values下建colors.xml文件,写入:
<?xmlversionxmlversion="1.0"encoding="UTF-8"?>
<resources>
<colornamecolorname="transparent">#9000</color><!--透明度-->
</resources>
这个值设定了整个界面的透明度,为了看得见效果,现在设为透明度为56%(9/16)左右。
透明度可以用#9000值调,将这个值(ARGB)改变,就会有不同效果的透明度。
再在res/values/下建styles.xml,设置程序的风格
<?xmlversionxmlversion="1.0"encoding="utf-8"?>
<resources>
<stylenamestylename="Transparent">
<item name="android:windowBackground">@color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item>
</style>
</resources>
加了@+android:style/Animation.Translucent这句的时候就会显示出此activity会有动画切换效果
最后一步,把这个styles.xml用在相应的Activity上。即在AndroidManifest.xml中的任意标签中添加 android:theme="@style/transparent"
如果要设置所有的activity都使用这个风格,就把这句标签语句添加在中。
‘叁’ android怎样自定义color文件
Android开发中颜色的自定义方法
1、使用Color类的常量,如:
int color = Color.BLUE; // 创建一个蓝色 是使用Android提供的颜色 int color = Color.RED; int color = Color.WHITE; 2、通过ARGB构建,如:
int color = Color.argb ( 127, 255, 0, 255 ); // 半透明的紫色
其中第一个参数表示透明,0表示完全透明,255(ff)表示完全不透明;后三位分别代表RGB的值了。 3、使用XML资源文件来定义颜色
该方法扩展性好,便于修改和共享,如在values目录下创建一个color.xml: <?xml version=” 1.0” encoding=”utf -8”> <resources>
<color name=”mycolor”> #7fff00ff</color> </resources>
定义了一个名为mycolor的颜色,在别的地方就可以通过引用mycolor来获取该颜色值,如textView定义中:
android:textColor= "@drawable/mycolor"
Java代码中可以使用ResourceManager类中的getColor来获取该颜色: int color = getResources().getColor(R.color.mycolor);
这与第二种方法得到的值是一样的,getResources()方法返回当前活动Activity的ResourceManager类实例。
说明:XML定义方法接受6位和8位两种表示法,而且开头必须是#,8位定义时前两位表示透明。 4、直接定义色值,如: int color = 0xff00ff00;
这种方法必须使用0x开头,而不是用我们常用的#。与方法3不一样,值也必须用8位表示 ,不接受6位的颜色表示。分组一下0x|ff|ff00ff,0x是代表颜色整数的标记,ff是表示透明度,ff00ff表示RGB颜色值。
=======================
补充一点Android布局中背景图片的设置(编辑LinearLayout):
* 可以使用纯色:android:background="@drawable/mycolor" (XML资源文件中定义的颜色)
* 也可使用图片:android:background="@drawable/bg" (需要将一个名为bg.jpg或png的图片拷贝到res/drawable-hdpi目录下)
‘肆’ Android 图形显示系统(十六) 色彩(颜色)模式解析(一)
在Android Q的系统设置中,新增了色彩模式选项,尽管这项功能其他厂商可能早有应用,但依然值得探讨其实现细节。Android Q提供了四种色彩模式:
框架层通过ColorDisplayManager和相关服务来管理色彩模式,定义了四种模式的对应值,如自然色、效果增强、饱和色和自动调节。设置色彩模式的操作通过setColorMode接口进行,主要通过系统设置中的DISPLAY_COLOR_MODE变量变化来触发相应的处理。
ColorDisplayService在接收到设置变化后,会通过ContentObserver监控DISPLAY_COLOR_MODE,触发onDisplayColorModeChanged函数,涉及夜光屏和白平衡的设置与色彩模式密切相关。色彩模式会进一步通过DisplayTransformManager的接口传递,通过调节饱和度和显示颜色两个参数来实现。
饱和度和显示颜色分别通过mGlobalSaturationFactor和mDisplayColorSetting在SurfaceFlinger中进行控制。SurfaceFlinger会根据饱和因子生成颜色矩阵,并与屏幕颜色处理相关。使用has_wide_color_display属性判断屏幕是否支持颜色管理,ColorProfile负责处理屏幕颜色的状态和功能。
选择ColorMode时,会根据bestDataSpace、RenderIntent和屏幕支持的特性进行匹配。在添加DisplayDevice时,会初始化ColorModes,根据上下层传入的参数进行匹配和设置。整个流程涉及了上层设置、框架层管理、以及HAL和底层驱动的具体实现。