在相同的相对布局中绘制多个路径时,我遇到了很多问题。发生的情况是,我的所有路径都绘制在最初绘制的同一位置。相反,我想缩小每个绘制的路径/画布并将它们并排显示在页面上。
我绘制路径的代码看起来像
for (int x=0; x < paths.size(); x++){
DrawView dw = new CustomView(this);
dw.path = paths.get(x);
dw.paint = paints.get(x);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
if (x == 0){
} else {
params.addRule(RelativeLayout.BELOW, x-1);
}
dw.setId(x);
layout.addView(dw, params);
}
我遵循了其他关于TextView
s 的建议来添加自定义布局参数以在彼此TextView
下方显示,但这似乎不适用于动态绘制的路径。
注意:CustomView
是一个扩展 View 并覆盖onDraw
绘制路径的方法的类。
编辑:
如果它有助于我的自定义类看起来像
public class CustomView extends View {
public Path path;
public Paint paint = new Paint();
public CustomView(Context context){
super(context);
paint.setAntiAlias(true);
paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.STROKE);
}
@Override
protected void onDraw(Canvas canvas){
canvas.drawPath(path, paint);
}
}