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开发中,常常会用到color.xml颜色配置,好的颜色配置可以让尼的应用让人看起来赏心悦目! 不罗嗦,上图先 该工程已经罗列了常用的颜色配置 附上工程链接:http://download ...
- 实用的android颜色配置表(亮瞎尼的双眼)
android开发中,常常会用到color.xml颜色配置,好的颜色配置可以让尼的应用让人看起来赏心悦目! 不罗嗦,上图先 该工程已经罗列了常用的颜色配置 附上工程链接:http://download ...
- 【转】android颜色对应的xml配置值
原文网址:http://www.cnblogs.com/etgyd/archive/2011/04/02/2003778.html android颜色对应的xml配置值 <?xml versio ...
- 基于Android的rgb七彩环颜色采集器
代码地址如下:http://www.demodashi.com/demo/11892.html 一.前言. 在大学期间,看到这个rgb灯,蛮好奇的,这么漂亮的颜色采集,并且可以同步到设备rbg灯颜色, ...
- Android Studio 配置SVN实现代码管理
Refference From:http://iaiai.iteye.com/blog/2267346 一.Android Studio配置SVN Android Studio关联配置SVN很简单,在 ...
- android 资讯阅读器
最近找申请到了一个不错的接口 , 非常适合拿来写一个资讯类的app. 现在着手写,随写随更.也算是抛砖引玉.烂尾请勿喷.╭(╯^╰)╮ android 资讯阅读器 第一阶段目标样式(滑动切换标签 , ...
- Android 颜色渲染(六) RadialGradient 环形渲染
Android 颜色处理(六) RadialGradient 环形渲染 public RadialGradient(float x, float y, float radius, int[] colo ...
- Android 颜色渲染(十) ComposeShader组合渲染
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] Android 颜色处理(十) ComposeShader组合渲染 public ComposeShader(Shader sh ...
- Android 颜色渲染(五) LinearGradient线性渲染
版权声明:本文为博主原创文章,未经博主允许不得转载. Android 颜色处理(五) LinearGradient线性渲染 相信很多人都看过歌词同步的效果, 一是竖直方向的滚动,另一方面是水平方面的歌 ...
随机推荐
- guava-19.0和google-collections-1.0 的 ImmutableSet 类冲突
guava-19.0 google-collections-1.0 都有 ImmutableSet 类,包路径也一致,前者有 copyOf(Collection)? 一.应用报错: 二.解决办法 co ...
- virtualbox中linux系统与windows实现共享文件夹
最近有一次,需要在linux获取在我windows系统里的安装包,但是呢不论如何也拿不过去. virtualbox虽然提供了双向拖放,但是实在是太不健壮了,感觉基本就没好使过. 于是我想到了用共享文件 ...
- 数十种TensorFlow实现案例汇集:代码+笔记(转)
转:https://www.jiqizhixin.com/articles/30dc6dd9-39cd-406b-9f9e-041f5cbf1d14 这是使用 TensorFlow 实现流行的机器学习 ...
- p2p项目总结
1.关于ajax请求所要注意的地方:$.psot(url,json,callback,type) (1)url路径问题,在html中写绝对路径不能用EL表达式,EL表达式只能在jsp中使用 (2)js ...
- [LeetCode] Freedom Trail 自由之路
In the video game Fallout 4, the quest "Road to Freedom" requires players to reach a metal ...
- Python模块之 - logging
日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. Logging模块构成 组成 ...
- Mysql之库表操作(胖胖老师)
SQL概念:结构化查询语言(SQL = Structured Query Language),也是一种编程语言(数据库查询和程序设计语言),可以用于数据的存取及查询,更新,管理关系型数据库系统ps: ...
- Redis常用命令--Hashes
Hash是由键值对组成的map.Hashes的底层是通过字典实现的.一个哈希表里面可以有多个哈希表节点.而每个哈希节点就保存了字典中的一个键值对. 字典是一种用于保存键和值对的抽象数据结构.字典里的每 ...
- cogs 619. [金陵中学2007] 传话
提交地址:http://cojs.tk/cogs/problem/problem.php?pid=619 619. [金陵中学2007] 传话 ★☆ 输入文件:messagez.in 输出文件 ...
- [Codeforces]856C - Eleventh Birthday
题目大意:给出n个数,问有多少种排列把数字接起来是11的倍数.(n<=2000) 做法:一个数后面接一个数等同于乘上10的若干次幂然后加上这个数,10模11等于-1,所以10的若干次幂是-1或1 ...