android中如何去绘制自定义的图片类型??应用到的是继承类View:
通过例子说明该应用:
1:写一个Demo继承View
2: 重写一些方法:
<span style="font-size:32px;color:#cc0000;">ViewDemo1类</span>
/** * view自定义的集合应用举例 * @author *2014-12-20 */ public class ViewDemo1 extends View { Paint p; LinearGradient linearGradient; RadialGradient radia; ComposeShader compose; /** * @param context */ public ViewDemo1(Context context) { super(context); // TODO Auto-generated constructor stub linearGradient=new LinearGradient(0, 0, 100, 100, new int[]{Color.RED,Color.GREEN,Color.BLUE}, null, Shader.TileMode.REPEAT); radia=new RadialGradient(100,100,10,new int[]{Color.RED,Color.GREEN,Color.BLUE},null,Shader.TileMode.REPEAT); compose=new ComposeShader(linearGradient,radia,PorterDuff.Mode.DARKEN); p=new Paint(); p.setStrokeWidth(10); p.setStyle(Paint.Style.STROKE); //设置一些渲染! //线性渐变 // p.setShader(linearGradient); //圆形渐变 // p.setShader(radia); //线性和圆形的混合型渐变 // p.setShader(compose); } @Override protected void onDraw(Canvas canvas) { // TODO Auto-generated method stub super.onDraw(canvas); canvas.drawRect(0,0, 100, 100, p); //bitmap图 canvas.drawBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.s),100, 100, p); //圆角矩形; RectF re1=new RectF(10,200,70,320); canvas.drawRoundRect(re1, 15, 15, p); //画几角型; Path p1=new Path(); p1.moveTo(200, 200); p1.lineTo(150, 300); p1.lineTo(250, 300); p1.close();canvas.drawPath(p1, p); //绘制团圆 RectF re2=new RectF(200,0,300,150); canvas.drawOval(re2, p); } }
2在主.java中
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ViewDemo1 vd=new ViewDemo1(this); setContentView(vd); } }
则我们可以看到效果图: