snifer

【原创】android编程之graphics Color实践----Color颜色变幻

0
阅读(2584)

我们经常看到android手机的颜色丰富多彩,变换莫测,很多朋友问我怎么实现的呢,今天我就给大家解解密。

首先需要知道android.graphics.Color 包含颜色值:

编程实现颜色变幻,只需要以下几个步骤:

① 新建工程
② 修改mainActivity.java 文件,添加12 个TextView 对象变量,一个LinearLayout 对象变量、一个WC
整数变量、一个LinearLayout.LayoutParams 变量。
package zyf.ManyColorME;
/*导入要使用的包*/
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.TextView;
public class ManyColorME extends Activity {
/** Called when the activity is first created. */
/* 定义使用的对象*/
private LinearLayout myLayout;
private LinearLayout.LayoutParams layoutP;
private int WC = LinearLayout.LayoutParams.WRAP_CONTENT;
private TextView black_TV, blue_TV, cyan_TV, dkgray_TV,
gray_TV, green_TV,ltgray_TV, magenta_TV, red_TV,
transparent_TV, white_TV, yellow_TV;
@Override
public void onCreate(Bundle savedInstanceState) {
/* 实例化一个LinearLayout布局对象*/
myLayout = new LinearLayout(this);
/* 设置LinearLayout的布局为垂直布局*/
myLayout.setOrientation(LinearLayout.VERTICAL);
/* 设置LinearLayout布局背景图片*/
myLayout.setBackgroundResource(R.drawable.back);
/* 加载主屏布局*/
setContentView(myLayout);
/* 实例化一个LinearLayout布局参数,用来添加View */
layoutP = new LinearLayout.LayoutParams(WC, WC);
/* 构造实例化TextView对象*/
constructTextView();
/* 把TextView添加到LinearLayout布局中*/
addTextView();
/* 设置TextView文本颜色*/
setTextViewColor();
/* 设置TextView文本内容*/
setTextViewText();
} /* 设TextView文*/
public void setTextViewText() {
black_TV.setText("黑色");
blue_TV.setText("蓝色");
cyan_TV.setText("青绿色");
dkgray_TV.setText("灰黑色");
gray_TV.setText("灰色");
green_TV.setText("绿色");
ltgray_TV.setText("浅灰色");
magenta_TV.setText("红紫色");
red_TV.setText("红色");
transparent_TV.setText("透明");
white_TV.setText("白色");
yellow_TV.setText("黄色");
} /* 设TextView文色 */
public void setTextViewColor() {
black_TV.setTextColor(Color.BLACK);
blue_TV.setTextColor(Color.BLUE);
dkgray_TV.setTextColor(Color.DKGRAY);
gray_TV.setTextColor(Color.GRAY);
green_TV.setTextColor(Color.GREEN);
ltgray_TV.setTextColor(Color.LTGRAY);
magenta_TV.setTextColor(Color.MAGENTA);

transparent_TV.setTextColor(Color.TRANSPARENT);
white_TV.setTextColor(Color.WHITE);
yellow_TV.setTextColor(Color.YELLOW);
} /* 构TextView对*/
public void constructTextView() {
black_TV = new TextView(this);
blue_TV = new TextView(this);
cyan_TV = new TextView(this);
dkgray_TV = new TextView(this);
gray_TV = new TextView(this);
green_TV = new TextView(this);
ltgray_TV = new TextView(this);
magenta_TV = new TextView(this);
red_TV = new TextView(this);
transparent_TV = new TextView(this);
white_TV = new TextView(this);
yellow_TV = new TextView(this);
} /* 把TextView添LinearLayout布*/
public void addTextView() {
myLayout.addView(black_TV, layoutP);
myLayout.addView(blue_TV, layoutP);
myLayout.addView(cyan_TV, layoutP);
myLayout.addView(dkgray_TV, layoutP);
myLayout.addView(gray_TV, layoutP);
myLayout.addView(green_TV, layoutP);
myLayout.addView(ltgray_TV, layoutP);
myLayout.addView(magenta_TV, layoutP);
myLayout.addView(red_TV, layoutP);
myLayout.addView(transparent_TV, layoutP);
myLayout.addView(white_TV, layoutP);
myLayout.addView(yellow_TV, layoutP);
}
}
③ 结果

怎么样,该投票了吧,弄得我快晕菜了!


Baidu
map