Android中设置控件的背景颜色的方式整理
版权声明:本文为博主原创文章,未经博主允许不得转载。
前言
在Android开发中,经常需要设置控件的背景颜色或者图片的src颜色。
效果图

代码分析
根据使用的方法不同,划分为
- setBackgroundColor方法【一般用于RelativeLayout、TextView等控件】
- 使用colors.xml文件中的颜色
- 使用颜色的int类型值
- 使用颜色的16进制类型值
- setImageDrawable方法【一般用于ImageView控件】
- 使用colors.xml文件中的颜色
- 使用颜色的int类型值
- 使用颜色的16进制类型值
//setBackgroundColor方法
mLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.colorAccent));//使用colors.xml文件中的颜色
mTvColorInt.setBackgroundColor(new Integer(-12590395));//使用颜色的int类型值
mTvColorHex.setBackgroundColor(Color.parseColor("#3FE2C5"));//使用颜色的16进制类型值 //setImageDrawable方法
Drawable drawableColor1 = new ColorDrawable(ContextCompat.getColor(this, R.color.colorAccent));//使用colors.xml文件中的颜色【在这里未使用,只是用来说明一种方式】
Drawable drawableColor2 = new ColorDrawable(new Integer(-2132153879));//使用颜色的int类型值【在这里未使用,只是用来说明一种方式】
Drawable drawableColor = new ColorDrawable(Color.parseColor("#80e9e9e9"));//使用颜色的16进制类型值 mImgColor.setImageDrawable(drawableColor);//设置ImageView控件的src属性值
使用步骤
activity_main.xml布局文件如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"> <TextView
android:id="@+id/tv_colorint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="使用-12590395的颜色值"
android:layout_centerInParent="true"/> <TextView
android:id="@+id/tv_colorhex"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="使用#3FE2C5的颜色值"
android:layout_below="@id/tv_colorint"
android:layout_centerHorizontal="true"
android:layout_margin="10dp"/> <ImageView
android:id="@+id/img_color"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="#ffffff"
android:background="@mipmap/ic_launcher"
android:contentDescription="@string/app_name"
android:layout_below="@id/tv_colorhex"
android:layout_centerHorizontal="true"
android:layout_margin="10dp"
/>
</RelativeLayout>
MainActivity.java文件如下:
package com.why.project.colorutildemo; import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView; public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; private RelativeLayout mLayout;
private TextView mTvColorInt;
private TextView mTvColorHex;
private ImageView mImgColor; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); initViews();
initData();
} private void initViews(){
mLayout = (RelativeLayout) findViewById(R.id.activity_main);
mTvColorInt = (TextView) findViewById(R.id.tv_colorint);
mTvColorHex = (TextView) findViewById(R.id.tv_colorhex);
mImgColor = (ImageView) findViewById(R.id.img_color);
} private void initData() { //setBackgroundColor方法
mLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.colorAccent));//使用colors.xml文件中的颜色
mTvColorInt.setBackgroundColor(new Integer(-12590395));//使用颜色的int类型值
mTvColorHex.setBackgroundColor(Color.parseColor("#3FE2C5"));//使用颜色的16进制类型值 //setImageDrawable方法
Drawable drawableColor1 = new ColorDrawable(ContextCompat.getColor(this, R.color.colorAccent));//使用colors.xml文件中的颜色【在这里未使用,只是用来说明一种方式】
Drawable drawableColor2 = new ColorDrawable(new Integer(-2132153879));//使用颜色的int类型值【在这里未使用,只是用来说明一种方式】
Drawable drawableColor = new ColorDrawable(Color.parseColor("#80e9e9e9"));//使用颜色的16进制类型值
mImgColor.setImageDrawable(drawableColor);//设置ImageView控件的src属性值 }
}
Android中设置控件的背景颜色的方式整理的更多相关文章
- android中设置控件获得焦点 (转)
android中,要使控件获得焦点,需要先setFocus,再requestFocus. 以Button为例: btn.setFocusable(true); ...
- android中设置控件获得焦点
android中,要使控件获得焦点,需要先setFocus,再requestFocus. 以Button为例: btn.setFocusable(true); ...
- VC、MFC中设置控件的背景色、标题、字体颜色、字体要注意的地方[转]
在MFC中设置控件的背景色.字体.字体颜色.标题等属性主要是利用OnCtlColor函数来实现. 如: HBRUSH CAlarm::OnCtlColor(CDC* pDC, CWnd* pWnd, ...
- MFC中给各个控件填充背景颜色的方法
1.给程序设置大背景色,在OnPaint()函数中添加如下代码: CRect rect; CPaintDC dc(this); GetClientRect(rect); dc.FillSolidRec ...
- Android线程中设置控件
在Android中经常出现多线程中设置控件的值报错的情况,今天教大家封装一个简单的类避免这样的问题,同样也调用实现也非常的方便. 自定义类: /** * Created by wade on 2016 ...
- android中在java代码中设置Button按钮的背景颜色
android中在java代码中设置Button按钮的背景颜色 1.设置背景图片,图片来源于drawable: flightInfoPanel.setBackgroundDrawable(getRes ...
- Android在代码中设置控件的drawableLeft,drawableRight,drawableTop,drawableBottom。
根据业务的需要,要在代码中设置控件的drawableLeft,drawableRight,drawableTop,drawableBottom属性. 我们知道在xml中设置的方法为:android:d ...
- Android 中常见控件的介绍和使用
1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.la ...
- Android中ExpandableListView控件基本使用
本文採用一个Demo来展示Android中ExpandableListView控件的使用,如怎样在组/子ListView中绑定数据源.直接上代码例如以下: 程序结构图: layout文件夹下的 mai ...
随机推荐
- require.js模块化
require.js简单来说就是把js代码分装模块化了 模块化 模块就是实现特定功能的一组方法.只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块. 我拿一个运动框架来解释一下req ...
- JSP:getOutputStream() has already been called for this response
JSP页面,用小脚本显示一张图片 <%@page import="java.io.OutputStream"%> <%@page import="jav ...
- mysql-5.7.17-winx64 的安装配置
在Mysql中下载 解压后,没有安装,需要设置环境变量,设置my.ini配置 设置环境变量 操作如下: 1)右键单击我的电脑->属性->高级系统设置(高级)->环境变量 点 ...
- 计蒜客 2019 蓝桥杯省赛 B 组模拟赛(三)数字拆分
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> us ...
- HTTP协议 与 TCP协议 的区别
TCP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据. TCP/IP和HTTP协议的关系,从本质上来说,二者没有可比性,我们在传输数据时,可以只使用(传输 ...
- 20155205 郝博雅 Exp5 MSF基础应用
20155205 郝博雅 Exp5 MSF基础应用 一.实验目标 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 1.一个主动攻击实践,如ms08_0 ...
- Java程序CPU使用率过高
Java程序CPU使用率过高 通过top命令找到使用率过高的java进程PID 根据进程号查找线程TID:ps -mp PID -o THREAD,tid,time 将TID转换成16进制:print ...
- You just run!
第一篇博客,无关技术,有关身体. 写一篇跑步干货 装备篇 用过的鞋: 光脚,拖鞋,人字拖,回力板鞋,皮鞋,特步,鸿星尔克,李宁超轻13,ASICS gt2000,阿迪低端. 1,非常推荐攒钱买一双a ...
- DOSBOX的安装和使用(window10 64位)
1.安装DOSBOX DOXBOX和MASM的下载和安装 2.使用DOSBOX 1.打开只有一个窗口的dosbox 2.修改dosbox的分辨率 1.打开DOSBox 0.74 Options.bat ...
- day_9内存管理
复习 '''文件处理1.操作文件的三步骤 -- 打开文件:硬盘的空间被操作系统持有 | 文件对象被应用程序持续 -- 操作文件:读写操作 -- 释放文件:释放操作系统对硬盘空间的持有 2.基础的读写 ...