加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

使用LinearLayout和Java中的TextView更改颜色(Android)

发布时间:2020-12-15 05:22:51 所属栏目:Java 来源:网络整理
导读:我是一个相对较新的 Android开发人员,我注意到对我来说似乎很奇怪,我希望有人可以解释.我有LinearLayout ll. 这行代码在执行时失败了: ll.setBackgroundColor(R.color.white); 但是这行代码有效: ll.setBackgroundResource(R.color.white); 我假设它只是因
我是一个相对较新的 Android开发人员,我注意到对我来说似乎很奇怪,我希望有人可以解释.我有LinearLayout ll.

这行代码在执行时失败了:

ll.setBackgroundColor(R.color.white);

但是这行代码有效:

ll.setBackgroundResource(R.color.white);

我假设它只是因为我的资源中定义了白色.但是,我也尝试在setBackgroundColor()中传递0xFFFFFF,但这也不起作用.

与我的TextView文本类似,这行代码在执行时失败:

text.setTextColor(R.color.white);

我可以看到我的TextView,所以我知道我正确地初始化它(就像我的LinearLayout,我也可以看到).所以我想我的问题归结为:我如何正确使用LinearLayout.setBackgroundColor()和TextView.setTextColor()?

非常感谢提前.我已经阅读了文档并试图通过谷歌搜索在线查找信息,但没有提出任何建议.

解决方法

R.color.whatever是一个int.它自动生成为对外部定义(在XML中)资源的引用.当您使用此整数调用setBackgroundColor时,它会尝试将此int的值解析为Color. setBackgroundResource期望获得传递给它的资源整数.它检索外部定义的值,然后以这种方式应用颜色.对于setBackgroundColor,尝试使用包含alpha的完整十六进制值颜色,例如0xFFFFFFFF(前两个F值是alpha值).

编辑:马克击败! :P

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读