Android资源文件中颜色使用的总结

2023-10-27

  

 

本文对Android颜色的使用做总结,重点介绍颜色在资源文件中的创建和颜色的选择器的创建和使用。

 


一.在xml中使用颜色资源文件和颜色选择器文件

 


(一)颜色资源文件的创建

1.创建资源文件,如图所示:


 

 



2.编辑colors.xml资源文件,如图所示:

 


 

(二)颜色选择器文件

 

1.颜色选择器的创建

 



 

2.颜色选择器文件的编辑




 

(三)在布局使用颜色资源文件和颜色选择器文件




 

可以看到运行结果:


 

 

按下按钮后,显示如下:

 




 

按下可选框后,先不松手,显示如下:

 


 

 

按下可选框松手后,显示如下:

 


 

上面就是在不用java代码设计的情况下使用颜色资源文件的情况。

下面介绍一下使用java代码控制颜色的改变。

 

 

 

 

二.Java代码中使用颜色资源文件和颜色选择器文件

(一)创建颜色资源文件和颜色选择器文件

 1.颜色资源文件的创建可以在XML文件中创建,也可以直接用java代码创建

2.颜色选择器文件必须在XML文件中创建

这里XML中文件的创建和上面的创建是一样的。这里只要介绍java代码调用颜色资源文件和颜色选择器。

 



(二)java代码调用颜色资源文件和颜色选择器文件


1.xml布局文件设计



 

这里布局文件和上面布局文件的区别是,这里的 android:textColor=" " 没有设置,要在java代码中设置。

 

2.java代码设计

 

public class MainActivity extends Activity {
	 
 
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
 
        //实例化文本对象
		TextView tv = (TextView) findViewById(R.id.main_tv_showcolor);
        //实例化按钮对象
        Button btn = (Button) findViewById(R.id.main_btn_colorselect);
        //实例化可选框对象
		CheckBox cb = (CheckBox) findViewById(R.id.main_cb_check);
		// java代码设计自定义颜色资源前面加0x
		// int color_red=0xff00;
 
		// 获取颜色资源文件
		int mycolor = getResources().getColor(R.color.myred);
		// 获取颜色选择器文件
		int color_seletot = getResources().getColor(R.color.color_selector);
		// 为文本设置颜色资源
		tv.setTextColor(mycolor);
 
		// 为按钮和选框设置选中器
		btn.setTextColor(color_seletot);
		cb.setTextColor(color_seletot);
}
 


这样设计和在xml中设计是一样的,颜色资源的设置是没有问题的,

但是用java代码设置颜色选择器会可能有失效的情况出现,

所以还是建议尽量在xml文件中设置好,而不在java代码中设置。

 

以上就是Android的颜色资源的使用和颜色选择器的使用。

 

 

 

 

三.Java代码中color的一些使用方法

(一)系统颜色

android内置的颜色,比如系统资源中定义的颜色,有以下几个:
BLACK(黑色),BLUE(蓝色),CYAN(青色),GRAY(灰色),GREEN(绿色),RED(红色),WRITE(白色),YELLOW(黄色)等。

使用方法: 

Button btn = (Button) findViewById(R.id.btn);

    btn.setBackgroundColor(Color.BLUE);


(二)自定义颜色

1.使用16进制数表示

使用方法:

int mycolor = 0xff123456;

  Button btn = (Button) findViewById(R.id.btn);

      btn.setBackgroundColor(mycolor);

2.利用静态方法argb来设置颜色:

使用方法:

Button btn = (Button) findViewById(R.id.btn);

btn.setBackgroundColor(Color.argb(0xff, 0x00, 0x00, 0x00));

argb()方法的参数依次为透明度,红,绿,蓝的大小,可以理解为浓度,这里组合起来的就是白色

 

 

四.RGB常用颜色对照表

RGB颜色表

 

 

 白色:rgb(255,255,255)

 黑色:rgb(0,0,0)

 红色:rgb(255,0,0)

 绿色:rgb(0,255,0)

 蓝色:rgb(0,0,255)

 青色rgb(0,255,255)

 紫色:rgb(255,0,255)

 调整相关数字,便可以得到深浅不一的各种颜色。

 

颜色样式

RGB数值

颜色代码

颜色样式

RGB数值

颜色代码

黑色

0,0,0

#000000

白色

255,255,255

#FFFFFF

象牙黑

88,87,86

#666666

天蓝灰

202,235,216

#F0FFFF

冷灰

128,138,135

#808A87

灰色

192,192,192

#CCCCCC

暖灰

128,118,105

#808069

象牙灰

251,255,242

#FAFFF0

石板灰

118,128,105

#E6E6E6

亚麻灰

250,240,230

#FAF0E6

白烟灰

245,245,245

#F5F5F5

杏仁灰

255,235,205

#FFFFCD

蛋壳灰

252,230,202

#FCE6C9

贝壳灰

255,245,238

#FFF5EE

红色

255,0,0

#FF0000

黄色

255,255,0

#FFFF00

镉红

227,23,13

#E3170D

镉黄

255,153,18

#FF9912

砖红

156,102,31

#9C661F

香蕉黄

227,207,87

#E3CF57

珊瑚红

255,127,80

#FF7F50

金黄

255,215,0

#FFD700

番茄红

255,99,71

#FF6347

肉黄

255,125,64

#FF7D40

粉红

255,192,203

#FFC0CB

粉黄

255,227,132

#FFE384

印度红

176,23,31

#B0171F

橘黄

255,128,0

#FF8000

深红

255,0,255

#FF00FF

萝卜黄

237,145,33

#ED9121

黑红

116,0,0

#990033

黑黄

85,102,0

#8B864E

绿色

0,255,0

#00FF00

棕色

128,42,42

#802A2A

青色

0,255,255

#00FFFF

土色

199,97,20

#C76114

黄绿色

127,255,0

#7FFF00

沙棕色

244,164,95

#F4A460

青绿色

64,224,205

#40E0D0

棕褐色

210,180,140

#D2B48C

青色

8,46,84

#082E54

玫瑰红

188,143,143

#BC8F8F

森林绿

34,139,34

#228B22

赫色

160,82,45

#A0522D

草绿色

107,142,35

#6B8E23

肖贡土色

199,97,20

#C76114

蓝色

0,0,255

#0000FF

肖贡土色

160,32,240

#A020F0

锰蓝

3,168,158

#03A89E

淡紫色

218,112,214

#DA70D6

深蓝

25,25,112

#191970

紫罗兰

138,43,226

#8A2BE2

土耳其蓝

0,199,140

#00C78C

胡紫色

153,51,250

#9933FA

 

五.颜色值的说明

  (一)#RGB ,使用红、绿、蓝三原色的值来表示颜色,

其中红,绿和蓝均采用0-f来表示,如要表示红色可以使用 #f00

(二)#ARGB :使用透明度以及红绿蓝三原色来表示颜色,

其中透明度,红,绿和蓝均采用0-f来表示,如,要表示半透明的红色,可以使用 #8f00

(三)#RRGGBB , 使用红,绿,蓝三原色的值来表示颜色,

与 #RGB 不同的是这里的红绿蓝使用00-ff来表示,如要表示蓝色可以使用 #0000ff

(四)#AARRGGBB 使用透明度及红绿蓝三原色来表示颜色,

其中透明度、红、绿、蓝均采用00-ff来表示。

例如,要表示半透明的绿色可以使用 #8800ff00 , #00 表示完全透明 ff表示完全不透


总结;Android程序开发中界面中对文字(标题,内容,注释)颜色的设置都是比较规范和统一的,

一般都用到颜色资源来统一这种,而不在xml控件中单一控制。所有颜色资源文件的使用还是比较重要的,

而颜色选择器可以增加特殊效果,在特定情况下可能有需要。

这里的颜色选择器要和按钮背景的颜色选择器区分,这里的颜色选择器是对字体的颜色发生改变的,

而按钮背景的选择器是对按钮的背景进行改变的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android资源文件中颜色使用的总结 的相关文章

  • 使用匕首柄作为依赖注入来处理多个改造客户端?

    我想在我的 android 应用程序中使用两个不同的后端 具有不同的响应格式 我使用 hilt 作为依赖注入 并对网络调用进行改造 这非常适合工作 因为我已经添加了第二个服务器网络文件和应用程序模块 所以它给了我错误 该错误列在最后 我需要
  • 将用户重定向到 iTunes 应用商店或 Google Play 商店?

    我正在寻找一种简单的解决方案来发布我的应用程序的一个链接 例如在 Facebook 上 如果用户使用移动设备访问它 它应该自动重定向到正确的应用程序商店 否则 用户应该被重定向到我的网站 iOS应用程序 http itunes apple
  • Android Widget ID 是否持久

    在从桌面删除该 Widget 实例之前 您从操作系统收到的用户桌面上特定 Widget 实例的 Widget ID 是否一致 我找不到任何明确说明这一点的文档 但我假设这是因为文档说您可以使用小部件 id 来存储任何实例配置信息 我想将一些
  • Phonegap(应用程序错误...发生网络错误)

    我已经使用phonegap 创建了一个版本 在index html 文件中 我编写了一个简单的iframe 用于加载网站 当我从phonegap获取本地url时它就起作用了 但如果我将整个构建作为 zip 文件上传到 PhoneGap 中
  • AIRPLANE_MODE 的广播接收器无法与 SDK 26 一起使用

    通常 我使用简单的代码来放置Toast当用户改变AIRPLANE MODE 并且它可以使用targetSdkVersion 25 我的 AirPlaneModeReceiver public class AirPlaneModeReceiv
  • 如何使用retrofit2动态设置超时?

    public class Router private static Retrofit retrofit null public Retrofit getRetrofit if retrofit null OkHttpClient clie
  • 如何从Slog中查看日志

    如何查看 Slog API 生成的日志 是否有任何选项可以查看系统缓冲区中的日志 我的意思是查看我们使用的无线电缓冲区的日志 adb logcat b 无线电 而这个日志是由Android的Log类生成的 Slog API 的输出在哪里 怎
  • 与通用地图相比,MapView 的分辨率较差

    我刚刚收到 HTC Desire 进行测试 我注意到 残留在小于整个屏幕的框架中的地图视图不如通用地图应用程序那么清晰 有什么办法解决这个问题吗 您应该使用 API 级别 4 或更高级别编译应用程序 然后在 AndroidManifest
  • 不使用eclipse安装Android模拟器

    如何在没有eclipse的电脑上安装android模拟器 android模拟器无需安装eclipse 只需下载 android sdk 并安装即可 安装android SDK之前必须先安装JDK 完成后安装成功 您将获得两个应用程序 SDK
  • Android,如何从 XML 布局添加 Google 地图选项?

    我有一个包含 MapView 的片段 我已将此视图添加到 XML 文件中 如下所示
  • 将项目添加到 android 框架的设置中

    我正在 android 框架中工作 我想向 android 操作系统中的现有设置添加一个项目 您能告诉我如何执行此操作吗 首先阅读有关偏好活动 http developer android com reference android pre
  • 构建应用程序时出现 BufferOverflowException

    每次我想运行我的 Android 应用程序时 我都会收到错误 2013 11 02 13 05 36 Dex Loader Unable to execute dex java nio BufferOverflowException Che
  • 在活动启动期间优雅地处理屏幕方向变化

    我正在尝试找到一种方法来正确处理设置活动 其中活动的方向是根据启动它的意图中的数据确定的 这是一款用户可以选择关卡的游戏 其中一些是纵向的 一些是横向的 我面临的问题是setRequestedOrientation ActivityInfo
  • 如何从画布中删除路径区域(Android)

    我需要裁剪角落ImageView 不要将它们弄圆 而是擦除每个角上的三角形 似乎唯一的方法就是覆盖onDraw方法并使用从画布上删除这些区域Path 问题是我没有纯色背景 所以我需要擦除这些区域 但不要用某种颜色填充它们 我为此使用以下代码
  • MutableStateflow 值、更新、发出

    假设我有一个可变状态流 https kotlin github io kotlinx coroutines kotlinx coroutines core kotlinx coroutines flow mutable state flow
  • Android:从 PhoneGap 应用打开 Play 商店链接

    我想从我的phonegap 3 4 应用程序打开一个指向Google Play 商店的链接 呼唤market details id com google android apps maps导致 ActivityNotFoundExcepti
  • android - 如何让按钮每次按下时单击播放声音文件?

    我打开了一个新项目 现在我想做的是 通过按下按钮 我想要播放一个 mp3 文件 而且每次按下按钮时 声音文件都会再次从头开始播放 所以假设 mp3 长 10 秒 我按下按钮 它正在播放 4 秒后我再次按下按钮 声音将再次播放 现在我想知道的
  • 带有工具提示的搜索栏 android

    Hi All 我正在尝试使用工具提示自定义 android 搜索栏 如给定的图像 有没有办法在搜索栏中添加带有拇指的文本视图 或任何其他想法 Thanks 我们可以通过拇指的界限来做到这一点 并在seekbar的progressChange
  • AndroidAnnotations 和 Dagger

    我正在尝试使用 Dagger 注入 Android 带注释的 Activity java lang IllegalArgumentException No inject registered for members com app serv
  • 使用 PDFBox 在 Android 中创建 PDF

    我正在尝试通过我的 Android 应用程序创建 PDFPDFBoxapi 但出现以下错误 java lang NoClassDefFoundError org apache pdfbox pdmodel PDDocument 我已经将以下

随机推荐

  • 蓝桥杯 Python 组省赛夺奖班-2.3Python杂题

    一 修剪灌木 题目 思路 树木编号为1 2 3 N 首先确定一个事情 就是树木的生长高度不会无限高 在2N个时间内会被修剪为0 那么对于第 i 棵树 从被修剪过到下此次修剪的最长时间为max 2 i 1 2 N i 这里的2是因为有一个转变
  • c++ 类模板和模板类的深入解析

    1 在c Template中很多地方都用到了typename与class这两个关键字 而且好像可以替换 是不是这两个关键字完全一样呢 答 class用于定义类 在模板引入c 后 最初定义模板的方法为 template
  • 用Pycharm创建Django项目

    转载 https blog csdn net weixin 43638892 article details 87100007
  • Python %d,%s,%f

    当你看到输出语句存在 d s f等百分号的时候 就接触到python 字符串格式化输出相关知识 Python 支持字符串格式化输出 尽管这样可能遇到非常复杂的表达式 但最基本的是用法就是将一个值插入到一个有字符串格式符 s的字符串中 如 例
  • android studio 使用opengl es布置游戏背景

    首先新建一个activity用于屏幕的view package com example wang airhockey3d import android opengl GLSurfaceView import android support
  • 计算机视觉快速入门一 ——项目实战(文档扫描OCR识别)

    计算机视觉快速入门一 项目实战 文档扫描OCR识别 1 文件配置 pip install pytesseract 下载tesseract ocr setup 4 00 00dev exe程序 并记住位置 并将此位置添加到环境变量 我的文件为
  • nodejs获取centos本机时间相差8小时

    1 nodejs通过new Date 获取本机当前时间后进行字符串格式化 在我本机windows电脑上运行返回结果正常 2 将代码部署到服务器 centos 上后发现获取时间是相差八小时的 3 服务器可能时区设置不在北京时间 东八区 4 使
  • FLASK框架应用实例

    一 项目简介 Flask是Python编写的轻量级Web开发框架 因其良好的可扩展性 意味着 你可以写出你自己随心所欲的代码 其使用jinja模板引擎和Werkzeug WSGI 套件 在安全性方面效果明显 详细文档收藏地址 https d
  • 操作系统 -- 内存管理(分配与回收)

    目录 内存的分配方式 连续内存分配 单一连续分配 过时 固态分区分配 动态分区分配 动态分区分配算法 首次适应算法 最佳适应算法 最坏适应算法 邻近适应算法 非连续内存分配 基础定义 地址转换 十进制地址 二进制地址 页表 地址转变过程 地
  • C++基础知识(一)

    C 基础知识 一 文章目录 C 基础知识 一 1 前言 2 编译器环境 3 第一个C 程序 4 数据类型 5 存储类 1 前言 1979年 C 初生萌芽 在1983年的时候 正式改名为C 本贾尼 斯特劳斯特卢普 Bjarne Stroust
  • OpenMP学习笔记

    一 OpenMP简介 1 内存共享并行模型 机器必须多处理器 核 共享内存 底层架构可以是UMA和NUMA UMA NUMA 2 Fork Join模型 重复fork join操作 3 OpenMP特性 OpenMP仅通过线程来完成并行 O
  • Redis(二):基础之五种常见数据结构与使用方法

    五种常见数据结构与使用方法 一 字符串String Redis 中的字符串是一种 动态字符串 这意味着使用者可以修改 它的底层实现有点类似于 Java 中的 ArrayList 有一个字符数组 从源码的 sds h sdshdr 文件 中可
  • 【20170924】C语言每日一练

    程序1 题目 有数字1 2 3 4 能组成多少个互不相同且无重复数字的三位数 都是多少 include
  • docker容器内存分配

    1 和CPU控制一样 docker也提供了若干参数来控制容器的内存使用配额 可以控制容器的swap大小 可用内存大小等各种内存方面的控制 主要有以下参数 memory swappiness 控制进程将物理内存交换到swap分区的倾向 默认系
  • Python selenium(一般不使用,原因:打开浏览器,虽然简单但是性能低)

    selenium使用 1 创建浏览器对象 driver webdriver xxx 2 发送请求 driver get url driver对象常用的属性和方法 1 driver page source 当前标签页浏览器渲染后的页面源代码
  • ESP8266学习笔记(二)

    上篇文章提到了如何使用USB转TTL模块调试ESP8266模块以及该模块的几种工作方式 此篇将会介绍如何实现ESP8266模块与单片机的通信 功能介绍 esp8266模块与stm32单片机的串口三之间互相通信 本人测试的是esp8266模块
  • 【100天精通python】Day37:GUI界面编程_PyQt 从入门到实战(上)_PyQt6基本组件、事件和信号槽、界面设计

    目录 专栏导读 1 PyQt6 简介 1 1 安装 PyQt6 和相关工具 1 2 PyQt6 基础知识 1 2 1 Qt 的基本概念和组件 1 2 2 创建和使用 Qt 窗口 标签 按钮等基本组件 1 2 3 布局管理器 垂直布局 水平布
  • Qt信号槽连接在有默认形参下的情况思考

    写下这个给自己备忘 比如函数 void test int a 0 你在调用端如论是test 3 或者test 都可以正确调用到这个函数 但是 如果放到Qt中的信号槽的话 这个还是值得讲一讲的 不然的话 可能会引起相应的误会 其实说到底 Qt
  • 互联网JAVA面试常问问题(二)

    一 线程有几种创建方式 这是一道比较常见的java线程问题 一般就是两种线程创建方式 继承Thread类 实现Runnable接口 继承Thread类 public class MyThread extends Thread private
  • Android资源文件中颜色使用的总结

    本文对Android颜色的使用做总结 重点介绍颜色在资源文件中的创建和颜色的选择器的创建和使用 一 在xml中使用颜色资源文件和颜色选择器文件 一 颜色资源文件的创建 1 创建资源文件 如图所示 2 编辑colors xml资源文件 如图所