Android中关于颜色的使用
16lz
2021-01-23
在开发Android颜色的时候,我们经常需要使用各种各样的颜色值,对于简单的颜色,可以使用系统提供的,复杂的颜色则需要则需要自定义颜色,下面讨论一下每种情况的使用方法。
1.系统颜色
android内置的颜色,比如系统资源中定义的颜色,有以下几个:
BLACK(黑色),BLUE(蓝色),CYAN(青色),GRAY(灰色),GREEN(绿色),RED(红色),WRITE(白色),YELLOW(黄色)等
当然android的android.graphics.Color也提供了构造自定义颜色的静态方法
系统颜色的使用
Button btn = (Button) findViewById(R.id.btn);btn.setBackgroundColor(Color.BLUE);
当然你也可以获取系统颜色后再设置:
int getcolor = Resources.getSystem().getColor(android.R.color.holo_green_light);Button btn = (Button) findViewById(R.id.btn);btn.setBackgroundColor(getcolor);
需要注意这种方法设置的颜色被转换成整型,可能是一个负值,我们还是以十六进制表示为准 如果在XML中设置一般是这样的
android:background="@android:color/white"
2.自定义颜色
颜色值的定义是由透明度alpha和RGB(红绿蓝)三原色来定义的, 以“#”开始,后面依次为:透明度-红-绿-蓝eg:#RGB #ARGB #RRGGBB #AARRGGBB
而我们最常使用的就是后面两种
自定义颜色的使用:
在xml中定义,可以在res/values下新建colors.xml,在其中添加,透明度可以省略<!--?xml version=1.0 encoding=utf-8?--><resources> <color name="mycolor">#748751</color></resources>在java代码中定义,需要注意,因为是16进制,需要添加0x,并且透明度不能省略
int mycolor = 0xff123456;在xml中使用,标准的资源引用
android:background="@color/blue"在java代码中使用
int mycolor = getResources().getColor(R.color.mycolor);
利用静态方法argb来设置颜色:
int myColor=Color.argb(0xff, 0x00, 0x00, 0x00)argb()方法的参数依次为透明度,红,绿,蓝的大小,可以理解为浓度,这里组合起来的就是白色
更多相关文章
- IOS/Android 移动端原生及自定义控件开发集v0.1
- Android中的Button自定义点击效果之改变点击时按钮的颜色
- Android自定义控件——仿ios开关按钮
- android 自定义带关闭按钮的dialog
- android中listview的一些样式设置,自定义ListView行间的分割线
- android设置控件样式(边框颜色,圆角)和图片样式(圆角)
- android 自定义搜索 的简单实现