首页 > 其他分享 >Android Paint和Color类

Android Paint和Color类

时间:2023-04-30 17:37:49浏览次数:37  
标签:mPaint Color Paint import Android public android



   setAntiAlias: 设置画笔的锯齿效果。 

   setColor: 设置画笔颜色 

   setARGB:  设置画笔的a,r,p,g值。 

   setAlpha:  设置Alpha值 

   setTextSize: 设置字体尺寸。 

   setStyle:  设置画笔风格,空心或者实心。 

   setStrokeWidth: 设置空心的边框宽度。 

   getColor:  得到画笔的颜色 

   getAlpha:  得到画笔的Alpha值。 


       下面是一个简单的示例 来说明这些方法的使用。先来看看运行效果吧。 


Android Paint和Color类_ide



Android Paint和Color类_android_02


1 package eoe.Demo;
  2 
  3 import android.content.Context;
  4 import android.graphics.Canvas;
  5 import android.graphics.Color;
  6 import android.graphics.Paint;
  7 import android.util.Log;
  8 import android.view.KeyEvent;
  9 import android.view.MotionEvent;
 10 import android.view.View;
 11 
 12 public class GameView extends View implements Runnable {
 13 
 14 public final static String TAG = "Example_05_03_GameView";
 15 // 声明Paint对象
 16 private Paint mPaint = null;
 17 
 18 public GameView(Context context) {
 19 super(context);
 20 // 构建对象
 21 mPaint = new Paint();
 22 
 23 // 开启线程
 24 new Thread(this).start();
 25 }
 26 
 27 @Override
 28 protected void onDraw(Canvas canvas) {
 29 super.onDraw(canvas);
 30 
 31 // 设置Paint为无锯齿
 32 mPaint.setAntiAlias(true);
 33 
 34 // 设置Paint的颜色
 35 mPaint.setColor(Color.RED);
 36 mPaint.setColor(Color.BLUE);
 37 mPaint.setColor(Color.YELLOW);
 38 mPaint.setColor(Color.GREEN);
 39 // 同样是设置颜色
 40 mPaint.setColor(Color.rgb(255, 0, 0));
 41 
 42 // 提取颜色
 43 Color.red(0xcccccc);
 44 Color.green(0xcccccc);
 45 
 46 // 设置paint的颜色和Alpha值(a,r,g,b)
 47 mPaint.setAlpha(220);
 48 
 49 // 这里可以设置为另外一个paint对象
 50 // mPaint.set(new Paint());
 51 // 设置字体的尺寸
 52 mPaint.setTextSize(14);
 53 
 54 // 设置paint的风格为“空心”
 55 // 当然也可以设置为"实心"(Paint.Style.FILL)
 56 mPaint.setStyle(Paint.Style.STROKE);
 57 
 58 // 设置“空心”的外框的宽度
 59 mPaint.setStrokeWidth(5);
 60 
 61 // 得到Paint的一些属性 颜色、Alpha值、外框的宽度、字体尺寸
 62 Log.i("TAG", "paint Color------>" + mPaint.getColor());
 63 Log.i(TAG, "paint Alpha------->" + mPaint.getAlpha());
 64 Log.i("TAG", "paint StrokeWidth--------->" + mPaint.getStrokeWidth());
 65 Log.i("TAG", "paint TextSize----------->" + mPaint.getTextSize());
 66 
 67 // 绘制一空心个矩形
 68 canvas.drawRect((320 - 80), 20, (320 - 80) / 2 + 80, 20 + 40, mPaint);
 69 
 70 // 设置风格为实心
 71 mPaint.setStyle(Paint.Style.FILL);
 72 
 73 mPaint.setColor(Color.GREEN);
 74 
 75 // 绘制绿色实心矩形
 76 canvas.drawRect(0, 20, 40, 20 + 40, mPaint);
 77 }
 78 
 79 // 触笔事件
 80 public boolean onTouchEvent(MotionEvent event) {
 81 return true;
 82 }
 83 
 84 // 按键按下事件
 85 public boolean onKeyDown(int keyCode, KeyEvent event) {
 86 return true;
 87 }
 88 
 89 // 按键弹起事件
 90 public boolean onKeyUp(int keyCode, KeyEvent event) {
 91 return true;
 92 }
 93 
 94 public boolean onKeyMultiple(int KeyCode, int repeatCount, KeyEvent event) {
 95 return true;
 96 }
 97 
 98 @Override
 99 public void run() {
100 while (!Thread.currentThread().isInterrupted()) {
101 try {
102 Thread.sleep(100);
103 } catch (Exception e) {
104 Thread.currentThread().interrupt();
105 }
106 // 更新界面
107 postInvalidate();
108 }
109 }
110 }
111 
112 
113 package eoe.Demo;
114 
115 import android.app.Activity;
116 import android.os.Bundle;
117 
118 public class Activity01 extends Activity {
119 
120 private GameView mGameView;
121 
122 @Override
123 public void onCreate(Bundle savedInstanceState) {
124 super.onCreate(savedInstanceState);
125 
126 setContentView(R.layout.main);
127 
128 mGameView = new GameView(this);
129 
130 setContentView(mGameView);
131 }
132 }



Android Paint和Color类_android_02







 




abc20899.iteye.com/blog/1032802

标签:mPaint,Color,Paint,import,Android,public,android
From: https://blog.51cto.com/u_548275/6237902

相关文章

  • Android 应用开发之(StrictM…
    最新的Android平台中(Android2.3起),新增加了一个新的类,叫StrictMode(android.os.StrictMode)。这个类可以用来帮助开发者改进他们编写的应用,并且提供了各种的策略,这些策略能随时检查和报告开发者开发应用中存在的问题,比如可以监视那些本不应该在主线程中完成的工作或者其他的一些......
  • Android裁剪图片为圆形图片
    以前在论坛中找过裁剪图片为圆形图片的方法,但是效果都不是很理想,这几天因为公司业务的要求,需要对头像进行裁剪以圆形的方式显示,这个方法是根据传入的图片的高度(height)和宽度(width)决定的,如果是width<=height时,则会裁剪高度,裁剪的区域是宽度不变高度从顶部到宽度width的长度;如果......
  • Android开发多线程断点续传下载器
    111Android开发多线程断点续传下载器分类: Android 2011-10-0123:14931人阅读 评论(8) 收藏 举报使用多线程断点续传下载器在下载的时候多个线程并发可以占用服务器端更多资源,从而加快下载速度,在下载过程中记录每个线程已拷贝数据的数......
  • android开发中使用GZIP压缩传输
    1.class=javaname="code">HTTP压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML,CSS,Javascript,Text,它可以节省40%左右的流量。更为重要的是,它可以对动......
  • android有序广播和无序广播的区别
    BroadcastReceiver所对应的广播分两类:普通广播和有序广播。普通广播通过Context.sendBroadcast()方法来发送。它是完全异步的。所有的receivers接收器的执行顺序不确定。  因此,所有的receivers接收器接收broadcast的顺序不确定。这种方式效率更......
  • Android 检测是否有ROOT权限
    android(linux)很多命令需要root权限才能执行,比如说查看系统目录文件等,如果我们的程序需要用到查看此类文件或执行系统命令,就必须先获取Root权限。1.importjava.io.DataInputStream;2.importjava.io.DataOutputStream;3.importjava.io.InputStream;4.impor......
  • Android手机信息
    获取手机屏幕高度  1.privatevoidgetWeithAndHeight(){2.//这种方式在service中无法使用,3.DisplayMetricsdm=newDisplayMetrics();4.getWindowManager().getDefaultDisplay().getMetrics(dm);5.Stringw......
  • android平台下UITesting环境配置
    1.androidsdk至少需要android4.1,所以先通过SDKmanager更新sdk,我这里使用android4.22.eclipse至少需要3.6.2,否则不支持3.配置环境变量path,加入java,androidsdktool的路径4.通过AVDManager启动android4.2的虚拟机5.在虚拟机上安装需要测试的apk软件(下面的测试用例只测......
  • 获得android手机的CPU核心数
    //CPU个数privateintgetNumCores(){//PrivateClasstodisplayonlyCPUdevicesinthedirectorylistingclassCpuFilterimplementsFileFilter{@Overridepublicbooleanaccept(Filepathname){//Checkiffilenameis&......
  • Android中使用log4j
    如果要直接在android工程中使用log4j,是有点问题的,会报如下的错: 11-2309:44:56.947:D/dalvikvm(1585):GC_FOR_MALLOCfreed3278objects/311568bytesin31ms rejectingopcode0x21at0x000a rejectedLorg/apache/log4j/config/PropertySetter;.getPropertyDescript......