Anda sedang menggambar garis, sesuai dokumentasi, fungsi drawLine akan:
Gambarlah ruas garis dengan koordinat awal dan akhir x,y yang ditentukan, menggunakan cat yang ditentukan.
Perhatikan bahwa karena garis selalu dibingkai, Style diabaikan dalam cat.
Garis yang merosot (panjangnya 0) tidak akan digambar.
canvas.drawLine(0, canvas.getHeight() / 2, canvas.getWidth(), canvas.getHeight() / 2, dashPaint)
Untuk menggambar garis putus-putus, sarannya adalah menggunakan primitif Path
private Path mPath;
mPath = new Path();
mPath.moveTo(0, h / 2);
mPath.quadTo(w/2, h/2, w, h/2);
// h and w are height and width of the screen
Paint mPaint = new Paint();
mPaint.setARGB(255, 0, 0, 0);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setPathEffect(new DashPathEffect(new float[]{5, 10, 15, 20}, 0));
Di onDraw()
canvas.drawPath(mPath, mPaint);
Tembakan cepat
![masukkan deskripsi gambar di sini](https://i.stack.imgur.com/OW0Pn.png)
Saya memiliki latar belakang dan garis putus-putus yang digambar di atasnya.
Contoh
public class FingerPaintActivity extends Activity {
MyView mv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mv = new MyView(this);
setContentView(mv);
mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setDither(true);
mPaint.setColor(0xFFFF0000);
mPaint.setARGB(255, 0, 0, 0);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setPathEffect(new DashPathEffect(new float[]{10, 40,}, 0));
mPaint.setStrokeWidth(12);
}
private Paint mPaint;
public class MyView extends View {
private Bitmap mBitmap;
private Canvas mCanvas;
private Path mPath;
private Paint mBitmapPaint;
Context context;
public MyView(Context c) {
super(c);
context = c;
mPath = new Path();
mBitmapPaint = new Paint(Paint.DITHER_FLAG);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
mBitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
mCanvas = new Canvas(mBitmap);
mPath.moveTo(0, h / 2);
mPath.quadTo(w / 2, h / 2, w, h / 2);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);
canvas.drawPath(mPath, mPaint);
}
}
}
Ubah yang di atas sesuai dengan kebutuhan Anda.
person
Raghunandan
schedule
13.05.2013