简单的调色板

        简单的调色板:

        我们往往可能需要具体颜色的RGB数值,比如设置字体颜色或则背景,这时候可能会借助第三方软件去调色,然后再应用到程序上,为什么不在Android上做一个调色板呢?以下是我的思路:

                   \

 

001   
002package com.color;
003import android.app.Activity;
004import android.graphics.Color;
005import android.os.Bundle;
006import android.os.Handler;
007import android.os.Message;
008import android.widget.SeekBar;
009import android.widget.SeekBar.OnSeekBarChangeListener;
010import android.widget.TextView;
011public class ColorActivity extends Activity {
012 private TextView red;
013 private TextView blue;
014 private TextView green;
015 private SeekBar redBar;
016 private SeekBar blueBar;
017 private SeekBar greenBar;
018 private TextView txt;
019 private TextView color;
020 int mRed;
021 int mGreen;
022 int mBlue;
023 /** Called when the activity is first created. */
024 @Override
025 public void onCreate(Bundle savedInstanceState) {
026  super.onCreate(savedInstanceState);
027  setContentView(R.layout.main);
028  findView();
029  initseekBar();
030  setSeekBarListen();
031 }
032 private void findView() {
033  red = (TextView) findViewById(R.id.textView_r);
034  green = (TextView) findViewById(R.id.textView_g);
035  blue = (TextView) findViewById(R.id.textView_b);
036  redBar = (SeekBar) findViewById(R.id.seekBar_r);
037  greenBar = (SeekBar) findViewById(R.id.seekBar_g);
038  blueBar = (SeekBar) findViewById(R.id.seekBar_b);
039  txt = (TextView) findViewById(R.id.txt);
040  color = (TextView) findViewById(R.id.color);
041 }
042 private void setSeekBarListen() {
043  OnSeekBarChangeListener listener = new OnSeekBarChangeListener() {
044   @Override
045   public void onStopTrackingTouch(SeekBar arg0) {
046    // TODO Auto-generated method stub
047   }
048   @Override
049   public void onStartTrackingTouch(SeekBar arg0) {
050    // TODO Auto-generated method stub
051   }
052   @Override
053   public void onProgressChanged(SeekBar seekbar, int progress,
054     boolean arg2) {
055    // TODO Auto-generated method stub
056    Message msg = new Message();
057    switch (seekbar.getId()) {
058    case R.id.seekBar_r:
059     mRed = progress;
060     Color.rgb(mRed, mGreen, mBlue);
061     txt.setTextColor(Color.rgb(mRed, mGreen, mBlue));
062     msg.what = 0;
063     msg.arg1 = mRed;
064     mHandler.sendMessage(msg);
065     break;
066    case R.id.seekBar_g:
067     mGreen = progress;
068     Color.rgb(mRed, mGreen, mBlue);
069     txt.setTextColor(Color.rgb(mRed, mGreen, mBlue));
070     msg = new Message();
071     msg.what = 1;
072     msg.arg1 = mGreen;
073     mHandler.sendMessage(msg);
074     break;
075    case R.id.seekBar_b:
076     mBlue = progress;
077     Color.rgb(mRed, mGreen, mBlue);
078     txt.setTextColor(Color.rgb(mRed, mGreen, mBlue));
079     msg = new Message();
080     msg.what = 2;
081     msg.arg1 = mBlue;
082     mHandler.sendMessage(msg);
083     break;
084    default:
085       
086     break;
087    }
088   }
089  };
090  redBar.setOnSeekBarChangeListener(listener);
091  greenBar.setOnSeekBarChangeListener(listener);
092  blueBar.setOnSeekBarChangeListener(listener);
093 }
094 private void initseekBar() {
095  redBar.setMax(0xff);
096  greenBar.setMax(0xff);
097  blueBar.setMax(0xff);
098  color.setTextSize(20);
099 }
100 Handler mHandler = new Handler() {
101  public void handleMessage(Message msg) {
102   switch (msg.what) {
103   case 0:
104    red.setText("R: 0x" + Integer.toHexString(mRed));
105    break;
106   case 1:
107    green.setText("G: 0x" + Integer.toHexString(mGreen));
108    break;
109   case 2:
110    blue.setText("B: 0x" + Integer.toHexString(mBlue));
111   }
112   color.setText("Color: 0x" + Integer.toHexString(mRed)
113     + Integer.toHexString(mGreen) + Integer.toHexString(mBlue));
114  }
115 };
116}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值