Android自定义View

Android自定义View画线

开局先来张图片
Android自定义View_第1张图片
好了,言归正传,直接上代码,就是这么干脆
public class LineView extends View {
private Paint paint;

public LineView(Context context) {
    super(context);
    init();
}

public LineView(Context context, @Nullable AttributeSet attrs) {
    super(context, attrs);
    init();
}

/**
 * 初始化画笔
 */
private void init() {
    //创建画笔
    paint = new Paint();
    //设置画笔宽度
    paint.setStrokeWidth(5);
    //设置画笔颜色
    paint.setColor(Color.BLUE);
    //设置样式 FILL,STROKE, FILL_AND_STROKE
    paint.setStyle(Paint.Style.FILL);
}

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    //画线(起点:X轴30 Y轴getwidth()/2,终点:X轴getWidth() - 50 Y轴getWidth() / 2)
    canvas.drawLine(30, getWidth() / 2, getWidth() - 50, getWidth() / 2, paint);
}

}
创建类LineView继承View,实现View的两个方法,代码很简单,而且注释也很清楚,这里就不在介绍了。如果这样还是看不懂···

▼▼▼▼▼▼▼▼▼▼重点来了,怎么使用呢▼▼▼▼▼▼▼▼▼▼
两种方式

方式一:
在xml文件中
android:id="@+id/line_view"
android:layout_width=“match_parent”
android:layout_height=“match_parent” />
直接运行就行了

方式二:
public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    LineView lineView = new LineView(this);
}

}
如果不想在xml文件中写的话,可以使用第二种方法
好了,话不多说看最后运行的效果
Android自定义View_第2张图片
到这里你已经成功把自定义view展示出来了。

你可能感兴趣的:(Android自定义View)