我有这段代码:
public class MyLinearLayout extends LinearLayout {
private Paint paint;
public MyLinearLayout(Context context) {
super(context);
initPaint();
}
public MyLinearLayout(Context context, AttributeSet attrs) {
super(context, attrs);
initPaint();
}
public MyLinearLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initPaint();
}
private void initPaint() {
paint = new Paint();
paint.setColor(Color.RED);
paint.setStrokeWidth(10);
}
@Override
protected void dispatchDraw(Canvas canvas) {
super.dispatchDraw(canvas);
canvas.drawLine(0, 0, canvas.getWidth(), canvas.getHeight(), paint);
}
}
如何在另一个类中运行它?
我有MainActivity
setContentView
名为activity_main
的布局。我想使用上面的代码在MainActivity
上画一条线。我怎么能这样做?
顺便说一句,activity_main
包含DrawerLayout,其中包含包含图像和几个按钮的RelativeLayout。
我总是看到导致更改布局的答案,例如setContentView(draw)
,其中draw是一个新创建的类,其中dispatchDraw()
被调用。我希望activity_main
成为我的布局并且只需绘制它。怎么办?