这里只是一个新手。
可以在布局上画一条线吗?
我有一个XML file(activity_main)
,它包含的布局是我从github上获取的ImageLayout
。该布局包含一个图像和几个按钮。
我要做的是在布局上的两个点之间画一条线。为了画一条线,人们通常创建一个Draw class
并扩展View
。在MainActivity
上,它们将setContent
Draw class
。我已经setContent
我的XML文件。从这一点上我将如何划界?
编辑:
我听说过Path
类,我认为它比使用onDraw更好,因为我将在布局中的多个点之间连接(在它们之间绘制线)。
如果可以的话,请启发我
最佳答案
子类化容器ViewGroup
并覆盖其dispatchDraw()
方法。我提供了子类LinearLayout
的示例,但是,它可以与任何其他ViewGroup
一起使用。
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);
}
}
关于android - 在Android中画一条线而不将其设置为内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29705264/