版权声明:本文为博主原创文章,未经博主允许不得转载。

前言

在Android开发中,经常需要设置控件的背景颜色或者图片的src颜色。

效果图

代码分析

根据使用的方法不同,划分为

  • setBackgroundColor方法【一般用于RelativeLayout、TextView等控件】
  1. 使用colors.xml文件中的颜色
  2. 使用颜色的int类型值
  3. 使用颜色的16进制类型值
  • setImageDrawable方法【一般用于ImageView控件】
  1. 使用colors.xml文件中的颜色
  2. 使用颜色的int类型值
  3. 使用颜色的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中设置控件的背景颜色的方式整理的更多相关文章

  1. android中设置控件获得焦点 (转)

    android中,要使控件获得焦点,需要先setFocus,再requestFocus. 以Button为例:                 btn.setFocusable(true);      ...

  2. android中设置控件获得焦点

    android中,要使控件获得焦点,需要先setFocus,再requestFocus. 以Button为例:                btn.setFocusable(true);       ...

  3. VC、MFC中设置控件的背景色、标题、字体颜色、字体要注意的地方[转]

    在MFC中设置控件的背景色.字体.字体颜色.标题等属性主要是利用OnCtlColor函数来实现. 如: HBRUSH CAlarm::OnCtlColor(CDC* pDC, CWnd* pWnd, ...

  4. MFC中给各个控件填充背景颜色的方法

    1.给程序设置大背景色,在OnPaint()函数中添加如下代码: CRect rect; CPaintDC dc(this); GetClientRect(rect); dc.FillSolidRec ...

  5. Android线程中设置控件

    在Android中经常出现多线程中设置控件的值报错的情况,今天教大家封装一个简单的类避免这样的问题,同样也调用实现也非常的方便. 自定义类: /** * Created by wade on 2016 ...

  6. android中在java代码中设置Button按钮的背景颜色

    android中在java代码中设置Button按钮的背景颜色 1.设置背景图片,图片来源于drawable: flightInfoPanel.setBackgroundDrawable(getRes ...

  7. Android在代码中设置控件的drawableLeft,drawableRight,drawableTop,drawableBottom。

    根据业务的需要,要在代码中设置控件的drawableLeft,drawableRight,drawableTop,drawableBottom属性. 我们知道在xml中设置的方法为:android:d ...

  8. Android 中常见控件的介绍和使用

    1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.la ...

  9. Android中ExpandableListView控件基本使用

    本文採用一个Demo来展示Android中ExpandableListView控件的使用,如怎样在组/子ListView中绑定数据源.直接上代码例如以下: 程序结构图: layout文件夹下的 mai ...

随机推荐

  1. 优雅的找出ArrayList中重复的元素

    https://blog.csdn.net/caoxiaohong1005/article/details/54286384

  2. "车羊门问题"作业

    作业完成人: 学号:20171301008 潘松泉: 学号:20171301022 陈霖彬: 1.按照你的第一感觉回答,你觉得不换选择能有更高的几率获得汽车,还是换选择能有更高的几率获得汽车?或几率没 ...

  3. 语音端点检测(Voice Activity Detection,VAD)

    本文内容均翻译自这篇博文:(该博主的相关文章都比较好,感兴趣的可以自行学习) Voice Activity Detection(VAD) Tutorial 语音端点检测一般用于鉴别音频信号当中的语音出 ...

  4. JavaScript中Object.keys用法

    Object.keys()方法会返回一个由一个给定对象的自身可枚举属性组成的数组. var data={a:1,b:2,c:9,d:4,e:5}; console.log(data);//{a: 1, ...

  5. jieba库的使用和好看的词元

    一.jieba库的使用与说明 1.jieba库基本介绍 jieba库是优秀的中文分词第三方库 -中文文本需要通过分词获得单个的词语         - jieba是优秀的中文分词第三方库,需要额外安装 ...

  6. Unity3D中默认函数的执行顺序

    直接用一张图来说明各个默认函数的执行顺序: FixedUpdate以固定的物理时间间隔被调用,不受游戏帧率影响.一个游戏帧可能会调用多次FixedUpdate.比如处理Rigidbody的时候最好用F ...

  7. 京东Alpha平台开发笔记系列(三)

    摘要:通过前面两篇文章的讲述,大致了解了JdAlpha平台前端开发的主要流程.接下来本篇文章主要讲述后台服务器端开发的主要流程.这里会涉及到后台服务器的搭建的内容,本篇文章就不以赘述,如需了解请读下面 ...

  8. 可遇不可求的Question之MySql4.0前版本不支持union与批量SQL提交

    批量SQL提交 参考 21.2.6. Connector/NET Connection String Options Reference . Allow Batch true When true, m ...

  9. (三)Javascript面向对象编程:非构造函数的继承

    Javascript面向对象编程:非构造函数的继承   这个系列的第一部分介绍了"封装",第二部分介绍了使用构造函数实现"继承". 今天是最后一个部分,介绍不使 ...

  10. Windows 10 无法使用搜索栏,显示一片空白

    查看这个:https://blog.csdn.net/qq_41571056/article/details/82928919