这里只是一个新手。

可以在布局上画一条线吗?

我有一个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/

10-11 21:33