Android颜色配置器配置方法

一、Android Color设置

1、在xml文件中

想设置颜色直接设置background的属性或者其他的color属性。随便设置一个颜色如#000,再点击左边的颜色方块,弹出颜色选择器选择颜色

2、在java代码中

①Color.parseColor("#000");

tvShow.setBackgroundColor(Color.parseColor("#000"));

【提示】可以在布局文件中配置好颜色值,然后把用“#”表示的颜色带到java代码中用

②Color.BLACK 使用Color类自带的颜色,不过都是一些基本色

tvShow.setBackgroundColor(Color.BLACK);

③定义Color资源文件,通过R.color.myColor引用

int color = R.color.myColor;
tvShow.setBackgroundResource(R.color.myColor);

④Color.argb(a,r,g,b)方法:

tvShow.setBackgroundColor(Color.argb(255, 255, 0, 0));

分别是alpha、红(red)、绿(green)、蓝(blue)四个颜色值(ARGB)。每个数字取值0-255,因此一个颜色可以用一个整数来表示。为了运行效率,Android编码时用整数Color类实例来表示颜色。

【提示】通过此方法传入对应的透明度值,红色值,绿色值,蓝色值进行颜色配置。因此我们可以通过此方法做一个简单的颜色配置器。

二、颜色配置器案例

1、【效果】

界面设计的比较粗糙,希望大家能学到实现效果,优化界面。

2、【项目结构】

3、【代码】

①activity_main.xml布局文件

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 tools:context=".MainActivity"
 android:orientation="vertical">
 <TextView
  android:text="请输入argb值:"
  android:textSize="20sp"
  android:textColor="#000"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:layout_margin="10dp"/>
 <LinearLayout
  android:layout_width="match_parent"
  android:layout_height="50dp"
  android:orientation="horizontal">
  <EditText
   android:id="@+id/etA"
   android:layout_width="0dp"
   android:layout_weight="1"
   android:layout_height="match_parent"
   android:layout_margin="1dp"
   android:hint="透明度(0-255)"
   android:inputType="number"/>
  <EditText
   android:id="@+id/etR"
   android:hint="红(0-255)"
   android:layout_width="0dp"
   android:layout_weight="1"
   android:layout_height="match_parent"
   android:background="#f00"
   android:layout_margin="1dp"
   android:gravity="center"
   android:inputType="number"/>
 </LinearLayout>
 <LinearLayout
  android:layout_width="match_parent"
  android:layout_height="50dp"
  android:orientation="horizontal">
  <EditText
   android:id="@+id/etG"
   android:hint="绿(0-255)"
   android:layout_width="0dp"
   android:layout_weight="1"
   android:layout_height="match_parent"
   android:background="#0f0"
   android:layout_margin="1dp"
   android:gravity="center"
   android:inputType="number"/>
  <EditText
   android:id="@+id/etB"
   android:hint="蓝(0-255)"
   android:layout_width="0dp"
   android:layout_weight="1"
   android:layout_height="match_parent"
   android:background="#00f"
   android:layout_margin="1dp"
   android:gravity="center"
   android:inputType="number"/>
 </LinearLayout>
 <TextView
  android:id="@+id/tv_show"
  android:text="TextView"
  android:layout_width="200dp"
  android:layout_height="200dp"
  android:background="#000"
  android:layout_gravity="center"
  android:layout_marginTop="20dp"
  />
 <Button
  android:id="@+id/btn"
  android:text="确定配置"
  android:layout_margin="20dp"
  android:layout_width="match_parent"
  android:layout_height="wrap_content" />
</LinearLayout>

【提示】EditText 中hint属性:这是设置输入框内的提示文字。 inputType属性:设置输入框输入的文本类型,此处设置为整数型

②MainActivity.java文件

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
 private EditText etA;
 private EditText etR;
 private EditText etG;
 private EditText etB;
 private TextView tvShow;
 private Button btn;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  initView();
 }
 private void initView() {
  etA = (EditText) findViewById(R.id.etA);
  etR = (EditText) findViewById(R.id.etR);
  etG = (EditText) findViewById(R.id.etG);
  etB = (EditText) findViewById(R.id.etB);
  tvShow = (TextView) findViewById(R.id.tv_show);
  btn = (Button) findViewById(R.id.btn);
  btn.setOnClickListener(this);
 }
 @Override
 public void onClick(View v) {
  switch (v.getId()) {
   case R.id.btn:
    submit();
    break;
  }
 }
 private void submit() {
  // validate
  if (!etA.getText().equals("")&&!etB.getText().equals("")
    &&!etR.getText().equals("")&&!etG.getText().equals("")) {
   //对用户输入的数值进行判断是否为空。避免空字符无法转换为int异常
   int et_a = Integer.parseInt(etA.getText().toString());
   int et_r = Integer.parseInt(etR.getText().toString());
   int et_g = Integer.parseInt(etG.getText().toString());
   int et_b = Integer.parseInt(etB.getText().toString());
   tvShow.setBackgroundColor(Color.argb(et_a, et_r, et_g, et_b));
  }else {
   Toast.makeText(this, "输入的值不能为空", Toast.LENGTH_SHORT).show();
  }
 }
}

总结

以上所述是小编给大家介绍的Android颜色配置器配置方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

您可能感兴趣的文章:

  • Android实现修改状态栏背景、字体和图标颜色的方法
  • Android编程自定义进度条颜色的方法详解
  • Android如何自定义EditText光标与下划线颜色详解
(0)

相关推荐

  • Android实现修改状态栏背景、字体和图标颜色的方法

    前言: Android开发,对于状态栏的修改,实在是不友好,没什么api可以用,不像ios那么方便.但是ui又喜欢只搞ios一套.没办法.各种翻源码,写反射.真的蛋疼. 需求场景: 当toolbar及状态栏需要为白色或浅色时(如简书),状态栏由于用的Light风格Theme,字体,图标也都是白色,会看不清.如果改变成黑色就很和谐了. 一.修改状态栏颜色: 改变状态栏颜色,可以看看这篇文章.传送门:实现状态栏(statusbar)渐变效果其实很简单 传送门实现的效果: 这种方法实现的状态栏变色,没

  • Android编程自定义进度条颜色的方法详解

    本文实例讲述了Android编程自定义进度条颜色的方法.分享给大家供大家参考,具体如下: 先看效果图: 老是提些各种需求问题,我觉得系统默认的颜色挺好的,但是Pk不过,谁叫我们不是需求人员呢,改吧! 这个没法了只能看源码了,还好下载了源码, sources\base\core\res\res\ 下应有尽有,修改进度条颜色只能找progress ,因为是改变样式,首先找styles.xml 找到xml后,进去找到: <style name="Widget.ProgressBar"&

  • Android如何自定义EditText光标与下划线颜色详解

    前言 最近在写些小Demo复习基础,在用到EditText的时候突然发现之前几乎没有注意到它的光标和下划线的颜色,于是花了不少时间,看了不少博客,现在就来总结和分享一下收获,话不多说了,来一起看看详细的介绍: 1.第一印象:原生的EditText 我们要在原生的EditText上修改,首先当然要认识一下它的本来面目.在Android Studio中新建一个工程,让MainActivity继承于AppCompatActivity(为什么要这样做,后面再说),然后在MainActivity的布局中放

  • Android颜色配置器配置方法

    一.Android Color设置 1.在xml文件中 想设置颜色直接设置background的属性或者其他的color属性.随便设置一个颜色如#000,再点击左边的颜色方块,弹出颜色选择器选择颜色 2.在java代码中 ①Color.parseColor("#000"); tvShow.setBackgroundColor(Color.parseColor("#000")); [提示]可以在布局文件中配置好颜色值,然后把用"#"表示的颜色带到j

  • Android电话拨号器实现方法

    本文实例讲述了Android电话拨号器实现方法.分享给大家供大家参考.具体如下: 以下案例模拟android电话拨号器的实现 AndroidManifest.xml清单列表 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ljq

  • 浅谈C++空间配置器allocator

    目录 概述 1. Allocator 的标准接口 2. SGI STL 内存分配失败的异常处理 3. SGI STL 内置轻量级内存池的实现 4. SGI STL 内存池在多线程下的互斥访问 概述 在C++中,一个对象的内存配置和释放一般都包含两个步骤,对于内存的配置,首先是调用operator new来配置内存,然后调用对象的类的构造函数进行初始化:而对于内存释放,首先是调用析构函数,然后调用 operator delete进行释放. 如以下代码: class Foo { ... }; Foo

  • Android使用元数据实现配置信息的传递方法详细介绍

    目录 前序 一.在代码中获取元数据 二.给应用页面注册快捷方式 前序 格式 <meta-data android:name="weather" android:value="xxx"/> 什么场景需要使用? 使用第三方SDK,需要在APP应用内使用别的APP的整合包,如使用微信登录.某某地图等. 一.在代码中获取元数据 在java代码中,获取元数据信息的步骤分为下列三步: 调用getPackageManager方法获得当前应用的包管理器: 调用包管理器的

  • 详解SpringMVC拦截器配置及使用方法

    本文介绍了SpringMVC拦截器配置及使用方法,分享给大家,具体如下: 常见应用场景 1.日志记录:记录请求信息的日志,以便进行信息监控.信息统计.计算PV(Page View)等. 2.权限检查:如登录检测,进入处理器检测检测是否登录,如果没有直接返回到登录页面: 3.性能监控:有时候系统在某段时间莫名其妙的慢,可以通过拦截器在进入处理器之前记录开始时间,在处理完后记录结束时间,从而得到该请求的处理时间(如果有反向代理,如apache可以自动记录): 4.通用行为:读取cookie得到用户信

  • Android 环境变量的配置方法

    我们在创建AVD时,在命令行窗口中输入android list targets会提示:'android'不是内部或外部命令,如图1,其实这主要是由于没有配置好Android SDK环境变量引起的. 图-1 android不是内部或外部命令      解决的办法有两种:        (1)配置android sdk的环境变量:        (2)直接进入android sdk所在的目录执行(其实可以不配置环境变量而直接进入目录执行文件的).        方法一:配置android sdk环境

  • Android Studio手动配置Gradle的方法

    Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置. 面向Java应用为主.当前其支持的语言限于Java.Groovy和Scala,计划未来将支持更多的语言. 下面是一些Gradle的功能 按约定声明构建和建设: 强大的支持多工程的构建: 强大的依赖管理(基于Apache Ivy),提供最大的便利去构建工程: 全力支持已有的 Maven 或者Ivy仓库基础建

  • Android Studio多工程引用同一个library项目配置的解决方法

    在使用Android Studio开发的时候,如遇到多个项目引用同一个library的情况时,会遇到在每个项目中都要有一套library的代码的情况,对于还在开发和维护中的Library需要频繁的修改,这对同步就很麻烦,为了解决这个问题,出现了下面的解决方案. 首先:新建一个类库工程,工程名为AppLibs.Dev. 在该类库中包含一个公共的类库appLibs的Module,Module下面的build.gradle配置如下: /** 声明是Android类库 */ apply plugin:

  • Android根据不同身份配置APP对应的不同模块方法

    项目需求为APP的使用单位有很多部门,各个部分的业务也是独立的,所以开发的APP中如果把所有的模块都显示出来然后再做权限分配,会显得屏幕全是各个模块,而使用的人员只使用其中一到两个,这样给使用者带来了不便,那么如何能根据不同业务部门不同身份的人登录APP后,显示对应身份所能看到的模块就变成本次要解决的问题了. 解决思路:APP的主页用gridview来动态加载模块,然后通过list给gridview进行适配,最后在屏幕上显示出来: 但是问题来了,如何保证点击对应模块就进入相对应的模块内,例如张三

  • docker 安装solr8.6.2 配置中文分词器的方法

    一.环境版本 Docker version 19.03.12 centos7 solr8.6.2 二.docker安装 1.使用官方安装脚本自动安装 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 2.使用国内 daocloud 一键安装命令: curl -sSL https://get.daocloud.io/docker | sh 三.docker安装solr8.6.2 1.docker拉取solr doc

随机推荐