这里只是个新手。
是否可以在布局上画一条线?
我有一个XML 文件(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/