当前位置: 首页 > news >正文

Android 中获取颜色资源

在 Android 开发中,资源(如字符串、颜色等)通常存储在 res 文件夹中,并通过资源 ID 进行访问。资源 ID 是一个整型值,用于唯一标识资源,若需要将资源转换为整型值,通常是指获取资源 ID 或从资源中提取整型数据。

1、getIdentifier 方法动态获取资源 ID

使用 getResources().getIdentifier() 方法可以将资源(如字符串、颜色等)的名称转换为对应的资源 ID(整型值),但是这种动态获取方式的性能较低,建议尽量避免频繁使用。
如果找到对应的资源,返回资源的 ID(整型值),未找到则返回 0。

	// 文本资源名称,对应 R.string.test_resource
	val resourceName = "test_resource"
	val resourceId = resources.getIdentifier(resourceName, "string", packageName)
	if (resourceId != 0) {
	    binding.textview.text = getString(resourceId)
	}
	
	// 颜色资源,对应 R.color.teal_200
	val colorResource = "teal_200"
	val colorId = resources.getIdentifier(colorResource, "color", packageName)
	if (colorId != 0) {
	    val color = resources.getColor(colorId, null)
	    binding.textview.setTextColor(color)
	}

2、从颜色资源中获取整型值

颜色资源在 Android 中是以整型值存储的( ARGB 值),若在 res/values/colors.xml 中定义内容:

	<resources>
	    <color name="teal_200">#FF03DAC5</color>
	</resources>

在代码中获取颜色整型值的方式如下:

	val color = resources.getColor(R.color.teal_200, null)
    textview.setTextColor(color)

相关文章:

  • Buzz1.2.0视频语音转成TXT、SRT、VTT工具
  • Python数据可视化-第4章-图表样式的美化
  • SQL INSERT INTO 语句详解
  • Linux编译安装mysql5.7.44 笔记250330
  • win 远程 ubuntu 服务器 安装图形界面
  • Spring Boot 支持哪些日志框架?推荐和默认的日志框架是哪个?
  • qt介绍tcp通信
  • python+playwright 学习-93 结合pands 抓取网页表格数据
  • C# System.Net.Dns 使用详解
  • 【Linux】动静态库的制作与使用
  • AI知识补全(十):AI伦理与安全是什么?
  • 召唤数学精灵
  • Jiangxi Province Baseball Softball Development Plan【江西棒垒球】
  • AI提示语:生成演示文稿 PPT
  • 将内网的IP地址映射到外网的几种方案
  • 堆叠虚拟化
  • Spring Boot分布式项目重试实战:九种失效场景与正确打开方式
  • JavaScript中 == 和 === 区别
  • 汇编语言学习前言
  • Java Spring Boot 与前端结合打造图书管理系统:技术剖析与实现
  • 做斗图的网站/腾讯新闻潍坊疫情
  • 建设网站排名/外链交易平台
  • 大连网站搜索优/长沙seo优化公司
  • 建设网站后如何做后台/广州百度推广电话
  • 如何建设电影会员网站/百度seo优化软件
  • 抓取资源的网站怎么做/济南seo公司报价