Android自定义View画线
开局先来张图片
好了,言归正传,直接上代码,就是这么干脆
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文件中
<com.example.administrator.histogram.view.LineView
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文件中写的话,可以使用第二种方法
好了,话不多说看最后运行的效果
到这里你已经成功把自定义view展示出来了。