标签:
1 MainActivity: 2 package com.example.lainxidraw; 3 4 import android.os.Bundle; 5 import android.app.Activity; 6 import android.content.Intent; 7 import android.view.Menu; 8 9 public class MainActivity extends Activity { 10 public static String name1; 11 @Override 12 protected void onCreate(Bundle savedInstanceState) { 13 super.onCreate(savedInstanceState); 14 Intent intent = getIntent(); 15 name1 = intent.getStringExtra("aaa"); 16 setContentView(R.layout.activity_main); 17 } 18 19 } 20 21 ShouActivity: 22 package com.example.lainxidraw; 23 24 import android.os.Bundle; 25 import android.app.Activity; 26 import android.content.Intent; 27 import android.view.View; 28 import android.view.View.OnClickListener; 29 import android.widget.Button; 30 31 public class ShouActivity extends Activity { 32 private Button btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8; 33 @Override 34 protected void onCreate(Bundle savedInstanceState) { 35 super.onCreate(savedInstanceState); 36 setContentView(R.layout.activity_shou); 37 btn1 = (Button) findViewById(R.id.btn1); 38 btn2 = (Button) findViewById(R.id.btn2); 39 btn3 = (Button) findViewById(R.id.btn3); 40 btn4 = (Button) findViewById(R.id.btn4); 41 btn5 = (Button) findViewById(R.id.btn5); 42 btn6 = (Button) findViewById(R.id.btn6); 43 btn7 = (Button) findViewById(R.id.btn7); 44 btn8 = (Button) findViewById(R.id.btn8); 45 btn1.setOnClickListener(l); 46 btn2.setOnClickListener(l); 47 btn3.setOnClickListener(l); 48 btn4.setOnClickListener(l); 49 btn5.setOnClickListener(l); 50 btn6.setOnClickListener(l); 51 btn7.setOnClickListener(l); 52 btn8.setOnClickListener(l); 53 } 54 OnClickListener l = new OnClickListener() { 55 @Override 56 public void onClick(View arg0) { 57 // TODO Auto-generated method stub 58 Intent intent = new Intent(ShouActivity.this,MainActivity.class); 59 switch (arg0.getId()) { 60 case R.id.btn1: 61 intent.putExtra("aaa", btn1.getText()); 62 startActivity(intent); 63 break; 64 case R.id.btn2: 65 intent.putExtra("aaa", btn2.getText()); 66 startActivity(intent); 67 break; 68 case R.id.btn3: 69 intent.putExtra("aaa", btn3.getText()); 70 startActivity(intent); 71 break; 72 case R.id.btn4: 73 intent.putExtra("aaa", btn4.getText()); 74 startActivity(intent); 75 break; 76 case R.id.btn5: 77 intent.putExtra("aaa", btn5.getText()); 78 startActivity(intent); 79 break; 80 case R.id.btn6: 81 intent.putExtra("aaa", btn6.getText()); 82 startActivity(intent); 83 break; 84 case R.id.btn7: 85 intent.putExtra("aaa", btn7.getText()); 86 startActivity(intent); 87 break; 88 case R.id.btn8: 89 intent.putExtra("aaa", btn8.getText()); 90 startActivity(intent); 91 break; 92 } 93 } 94 }; 95 } 96 MyView: 97 package com.example.view; 98 99 import com.example.lainxidraw.MainActivity; 100 101 import android.content.Context; 102 import android.graphics.Canvas; 103 import android.graphics.Color; 104 import android.graphics.LinearGradient; 105 import android.graphics.Paint; 106 import android.graphics.Path; 107 import android.graphics.RectF; 108 import android.graphics.Shader; 109 import android.util.AttributeSet; 110 import android.util.Log; 111 112 public class MyView extends View{ 113 private Paint p; 114 public String name = MainActivity.name1; 115 public View(Context context, AttributeSet attrs, int defStyle) { 116 super(context, attrs, defStyle); 117 // TODO Auto-generated constructor stub 118 } 119 public View(Context context, AttributeSet attrs) { 120 super(context, attrs); 121 // TODO Auto-generated constructor stub 122 } 123 public View(Context context) { 124 super(context); 125 // TODO Auto-generated constructor stub 126 } 127 @Override 128 protected void onDraw(Canvas canvas) { 129 // TODO Auto-generated method stub 130 super.onDraw(canvas); 131 Log.i("aaa", name); 132 draw(name,canvas); 133 } 134 public void draw(String name,Canvas canvas){ 135 p = new Paint(); 136 if(name.equals("画圆")){ 137 p.setColor(Color.RED); 138 canvas.drawText("画圆:", 10, 20, p); 139 //x.y.直径.画笔 140 canvas.drawCircle(60, 20, 10, p); 141 p.setAntiAlias(true); 142 canvas.drawCircle(120, 20, 20, p); 143 }else if(name.equals("画线及弧形")){ 144 canvas.drawText("画线及弧线:", 10, 60, p); 145 p.setColor(Color.GREEN); 146 //起始X.Y.结束X.Y.画笔 147 canvas.drawLine(60, 40, 150, 20, p); 148 canvas.drawLine(110, 40, 190, 80, p); 149 150 p.setStyle(Paint.Style.STROKE); 151 RectF oval1=new RectF(150,20,180,40); 152 canvas.drawArc(oval1, 180, 180, false, p); 153 oval1.set(190, 20, 220, 40); 154 canvas.drawArc(oval1, 180, 180, false, p); 155 oval1.set(160, 30, 210, 60); 156 canvas.drawArc(oval1, 0, 180, false, p); 157 }else if(name.equals("画矩形")){ 158 canvas.drawText("画矩形:", 10, 80, p); 159 p.setColor(Color.GRAY); 160 p.setStyle(Paint.Style.FILL); 161 //X-左,Y-上,X-右,Y-下距离 162 canvas.drawRect(60, 60, 80, 80, p); 163 canvas.drawRect(60, 90, 160, 150, p); 164 }else if(name.equals("画扇形和椭圆")){ 165 canvas.drawText("画扇形和椭圆:", 10, 120, p); 166 Shader mShader = new LinearGradient(0, 0, 100, 100,new int[]{ Color.RED, Color.GREEN, Color.BLUE, Color.YELLOW,Color.LTGRAY }, null, Shader.TileMode.REPEAT); 167 p.setShader(mShader); 168 RectF oval2 = new RectF(60, 100, 200, 240); 169 canvas.drawArc(oval2, 200, 130, true, p); 170 oval2.set(210,100,250,130); 171 canvas.drawOval(oval2, p); 172 }else if(name.equals("画三角形")){ 173 canvas.drawText("画三角形:", 10, 200, p); 174 Path path = new Path(); 175 path.moveTo(80, 200); 176 path.lineTo(120, 250); 177 path.lineTo(80, 250); 178 path.close(); 179 canvas.drawPath(path, p); 180 p.reset(); 181 //设置空心 182 p.setStyle(Paint.Style.STROKE); 183 Path path2 = new Path(); 184 path2.moveTo(180, 200); 185 path2.lineTo(200, 200); 186 path2.lineTo(210, 210); 187 path2.lineTo(200, 220); 188 path2.lineTo(180, 220); 189 path2.lineTo(170, 210); 190 path2.close(); 191 canvas.drawPath(path2, p); 192 }else if(name.equals("画圆角矩形")){ 193 //充满 194 p.setStyle(Paint.Style.FILL); 195 p.setColor(Color.LTGRAY); 196 p.setAntiAlias(true); 197 canvas.drawText("画园角矩形", 10, 260, p); 198 RectF rectF = new RectF(80,260,200,300); 199 canvas.drawRoundRect(rectF, 80, 80, p); 200 }else if(name.equals("画贝赛尔曲线")){ 201 p.reset(); 202 p.setStyle(Paint.Style.STROKE); 203 p.setColor(Color.GREEN); 204 canvas.drawText("画贝塞尔曲线", 10, 260, p); 205 Path path3 = new Path(); 206 path3.moveTo(100, 320); 207 path3.quadTo(150, 310, 170, 400); 208 canvas.drawPath(path3, p); 209 }else if(name.equals("画点")){ 210 p.setStyle(Paint.Style.FILL); 211 canvas.drawText("画点", 10, 390, p); 212 canvas.drawPoint(69, 390, p); 213 canvas.drawPoints(new float[]{60,400,65,400,70,400}, p); 214 } 215 } 216 }
标签:
原文地址:http://www.cnblogs.com/pastor/p/5156721.html