cara menggambar persegi panjang kosong dengan dll. borderWidth = 3 dan borderColor = hitam dan bagian dalam persegi panjang tidak memiliki konten atau warna. Fungsi mana di Canvas yang akan digunakan
void drawRect(float left, float top, float right, float bottom, Paint paint)
void drawRect(RectF rect, Paint paint)
void drawRect(Rect r, Paint paint)
Terima kasih.
Saya mencoba contoh ini
Paint myPaint = new Paint();
myPaint.setColor(Color.rgb(0, 0, 0));
myPaint.setStrokeWidth(10);
c.drawRect(100, 100, 200, 200, myPaint);
Ini menggambar persegi panjang dan mengisinya dengan warna hitam tetapi saya hanya ingin "bingkai" di sekitar seperti gambar ini:
Jawaban:
Coba
paint.setStyle(Paint.Style.STROKE)
?sumber
Dengan asumsi bahwa " bagian dalam persegi panjang tidak memiliki warna konten " berarti Anda menginginkan isian yang berbeda dalam persegi panjang; Anda perlu menggambar persegi panjang di dalam persegi panjang Anda kemudian dengan lebar goresan 0 dan warna isian yang diinginkan.
Sebagai contoh:
DrawView.java
Aktivitas untuk memulainya:
StartDraw.java
... akan menjadi seperti ini:
sumber
sumber
Buat kelas baru
MyView, Which extends View
. GantionDraw(Canvas canvas)
metode untuk menggambar persegi panjangCanvas
.Kemudian Pindahkan aktivitas Java Anda untuk
setContentView()
menggunakan Tampilan kustom kami, MyView. Panggil seperti ini.Untuk lebih jelasnya bisa anda kunjungi disini
sumber
dan salah satu dari Anda
drawRect
harus bekerja.sumber
Tidak tahu apakah ini sudah terlambat, tetapi cara saya menyelesaikannya adalah dengan menggambar empat persegi panjang tipis yang bersama-sama membentuk satu perbatasan besar. Menggambar perbatasan dengan satu persegi panjang tampaknya tidak dapat dilakukan karena semuanya buram, jadi Anda harus menggambar setiap tepi perbatasan secara terpisah.
sumber
Kode baik-baik saja setStyle cat sebagai STROKE
sumber