嗨我需要画一条路径简单的线条到画布它应该用白线写出红色矩形.但它不会画出什么mi缺失.我的代码:
Canvas canvas = new Canvas();
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.RED);
canvas.drawPaint(paint);
Path path = new Path();
//canvas.drawColor(Color.CYAN);
for (int i = 5; i < 50; i++) {
path.moveTo(4, i-1);
path.lineTo(4, i);
}
path.close();
paint.setStrokeWidth(3);
paint.setPathEffect(null);
paint.setColor(Color.WHITE);
paint.setStyle(Paint.Style.STROKE);
canvas.drawPath(path, paint);
for (int i = 0; i < 3; i++) {
View iview = inflater.inflate(R.layout.linear_layout, null);
if(i == 0){
iview.findViewById(R.id.imageView1).setBackgroundResource(R.drawable.distspeed);
}
if(i == 1){
iview.findViewById(R.id.imageView1).setBackgroundResource(R.drawable.hxmdist);
}
if(i == 2){
iview.findViewById(R.id.imageView1).setBackgroundResource(R.drawable.hxmspeeed);
}
iview.draw(canvas);
realViewSwitcher.addView(iview);
}
Run Code Online (Sandbox Code Playgroud)
Csa*_*abi 16
我只发布工作代码:
修改活动:
for (int i = 0; i < 2; i++) {
MyView mView = new MyView(this,i);
realViewSwitcher.addView(mView);
}
Run Code Online (Sandbox Code Playgroud)
我的看法:
public class MyView extends View {
public MyView(Context context, int kolki) {
super(context);
if (kolki == 0){
this.setBackgroundResource(R.drawable.distspeed);
}
if (kolki == 1){
this.setBackgroundResource(R.drawable.hxmdist);
}
}
public void setBackgroundResource (int resid){
super.setBackgroundResource(resid);
}
public void onDraw(Canvas c){
super.onDraw(c);
Paint paint = new Paint();
Path path = new Path();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.TRANSPARENT);
c.drawPaint(paint);
for (int i = 50; i < 100; i++) {
path.moveTo(i, i-1);
path.lineTo(i, i);
}
path.close();
paint.setStrokeWidth(3);
paint.setPathEffect(null);
paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.STROKE);
c.drawPath(path, paint);
}
}
Run Code Online (Sandbox Code Playgroud)