Update 颜色.md

This commit is contained in:
sloop
2016-01-10 16:31:35 +08:00
parent 3c198df853
commit 865d838465

View File

@@ -19,17 +19,19 @@ A 从ox00到oxff表示从透明到不透明。
RGB 从0x00到0xff表示颜色从浅到深。
## 二.几种创建或表示颜色的方式
### 1.使用Color类创建颜色
## 二.几种创建或使用颜色的方式
### 1.java中定义颜色
``` java
int color = Color.GRAY; //灰色
```
由于Color类提供的颜色仅为有限的几个通常还是用ARGB值进行表示。
``` java
int color = Color.argb(127, 255, 0, 0); //半透明红色
int color = 0xaaff0000; //带有透明度的红色
```
### 2.在xml文件中定义颜色
在/res/values/color.xml 文件中如下定义
在/res/values/color.xml 文件中如下定义
``` xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
@@ -40,9 +42,30 @@ RGB 从0x00到0xff表示颜色从浅到深。
详解: 在以上xml文件中定义了两个颜色红色和蓝色是没有alpha透明通道的。
定义颜色以‘#’开头,后面跟十六进制的值,有如下几种定义方式:
``` java
#f00 //低精度 - 不带透明通道红色
#af00 //低精度 - 带透明通道红色
#ff0000 //高精度 - 不带透明通道红色
#aaff0000 //高精度 - 带透明通道红色
```
#f00
#af00
#ff0000
#aaff0000
其中用<i>一个十六进制数值表示一种颜色</i>的<b>低精度</b>不常用,最常用的是<i>两个十六进制的数值表示一个颜色</i>的<b>高精度</b>。
### 3.引用在xml文件中定义的颜色
#### 1.在java文件中引用
``` java
int color = getResources().getColor(R.color.mycolor);
```
#### 2.在其他xml文件(layout或style)中引用或者直接创建
```
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/red</item>
</style>
```
``` java
android:background="@color/red" //引用在/res/values/color.xml 中定义的颜色
android:background="#ff0000" //创建颜色
```