当前位置: 首页 > 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)
http://www.dtcms.com/a/103411.html

相关文章:

  • 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 与前端结合打造图书管理系统:技术剖析与实现
  • 12-SpringBoot3入门-项目打包和运行
  • 【力扣hot100题】(024)环形链表
  • kali配置固定IP
  • AI 数字人短视频数字人口播源码:短视频内容生产的新引擎​
  • axios介绍以及配置
  • 【LeetCode】二叉树的递归遍历
  • promise使用及其方法
  • CMake在Windows环境下Visual Studio Code的使用
  • 利用deepseek直接调用其他文生图网站生成图片
  • [VolgaCTF 2025] Baby-Welcome,BrokeBroke,Field Rules