当前位置:   article > 正文

自定义View onDraw方法详解_view.ondraw

view.ondraw

onDraw方法通过Canvas对象在View上绘制不同的东西(直线,圆形,矩形...)

 

一.代码说明

 

1.自定义View类

  1. public class MyViews extends View {
  2. private Paint paint;
  3. public MyViews(Context context) {
  4. super(context);
  5. init();
  6. }
  7. public MyViews(Context context, AttributeSet attrs) {
  8. super(context, attrs);
  9. init();
  10. }
  11. private void init(){
  12. paint = new Paint();
  13. paint.setAntiAlias(true);//抗锯齿
  14. paint.setColor(Color.RED);//画笔颜色
  15. paint.setStyle(Paint.Style.FILL);//画笔风格
  16. paint.setTextSize(30);//绘制文字大小,单位px
  17. paint.setStrokeWidth(5);//画笔粗细
  18. }
  19. @Override
  20. protected void onDraw(Canvas canvas) {
  21. super.onDraw(canvas);
  22. canvas.drawColor(Color.GREEN);
  23. canvas.drawCircle(getWidth()/2, getWidth()/2, getWidth()/2, paint);//画实心圆
  24. }
  25. }

 

 

布局

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="vertical">
  6. <com.wjn.myview.view.MyViews
  7. android:layout_width="200dp"
  8. android:layout_height="200dp"
  9. android:layout_gravity="center"
  10. android:layout_marginTop="100dp" />
  11. </LinearLayout>

 

 

效果

 

 

即:在onDraw方法中使用画笔和画布先画一个正方形再画一个实心圆。

 

 

心得

自定义onDraw方法主要用来绘制View,所以需要配合Canvas(画布)和Paint(画笔)一起结合使用。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号