这是一个简单的三原色生成颜色的小程序,点击button可以让显示在EditText里RGB加一或减一,从而使下方的textView颜色发生改变。 PS:这个我是用eclipse做的。 运行效果截图: 源码: (PaletteActivity.java)
package com.example.palette;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class PaletteActivity extends Activity implements OnClickListener{
//声明各种对象,1是红色,2是绿色,3是红色
private Button btn_add1;//加一button按钮
private Button btn_add2;
private Button btn_add3;
private Button btn_cut1;//减一button按钮
private Button btn_cut2;
private Button btn_cut3;
private EditText et_1;//显示RGB的文本框
private EditText et_2;
private EditText et_3;
private TextView tv;//最下面一个填充色框
int r,g,b;//定义三个变量
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_palette);
//获取各种对象
btn_add1 =(Button)findViewById(R.id.button1);
btn_add2 =(Button)findViewById(R.id.button3);
btn_add3 =(Button)findViewById(R.id.button5);
btn_cut1 =(Button)findViewById(R.id.button2);
btn_cut2 =(Button)findViewById(R.id.button4);
btn_cut3 =(Button)findViewById(R.id.button6);
et_1 = (EditText)findViewById(R.id.editText1);//获值
et_2 = (EditText)findViewById(R.id.editText2);
et_3 = (EditText)findViewById(R.id.EditText01);
tv = (TextView)findViewById(R.id.textView1);
//分别对六个button绑定监听器
btn_add1.setOnClickListener(this);
btn_add2.setOnClickListener(this);
btn_add3.setOnClickListener(this);
btn_cut1.setOnClickListener(this);
btn_cut2.setOnClickListener(this);
btn_cut3.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.button1://当点击button1的时候
r = Integer.parseInt(et_1.getText().toString());//获取数据,赋值给r
r = r+1;//每点击一次加1
if(r > 255){
r = 255;
}
//把r的值传给et_1显现出来
et_1.setText(r+"");//用于转换类型,setText();识别String类型,所以r后面加"",转化成String类型
tv.setBackgroundColor(Color.rgb(r, g, b));//给view显示背景颜色
break;
case R.id.button2:
r = Integer.parseInt(et_1.getText().toString());//获取数据,赋值给r
r = r-1;//每点击一次减1
if(r < 0){
r = 0;
}
et_1.setText(r+"");
tv.setBackgroundColor(Color.rgb(r, g, b));
break;
case R.id.button3:
g = Integer.parseInt(et_2.getText().toString());//获取数据,赋值给g
g = g+1;//每点击一次加1
if(g > 255){
g = 255;
}
et_2.setText(g+"");
tv.setBackgroundColor(Color.rgb(r, g, b));
break;
case R.id.button4:
g = Integer.parseInt(et_2.getText().toString());//获取数据,赋值给g
g = g-1;//每点击一次减1
if(g < 0){
g = 0;
}
et_2.setText(g+"");
tv.setBackgroundColor(Color.rgb(r, g, b));
break;
case R.id.button5:
b = Integer.parseInt(et_3.getText().toString());//获取数据,赋值给b
b = b+1;//每点击一次加1
if(b > 255){
b = 255;
}
et_3.setText(b+"");
tv.setBackgroundColor(Color.rgb(r, g, b));
break;
case R.id.button6:
b = Integer.parseInt(et_3.getText().toString());//获取数据,赋值给b
b = b-1;//每点击一次减1
if(b < 0){
b = 0;
}
et_3.setText(b+"");
tv.setBackgroundColor(Color.rgb(r, g, b));
break;
default:
break;
}
}
}
布局代码:(activity_palette.xml)
|