cómo dibujar un rectángulo vacío con etc. borderWidth = 3 y borderColor = black y la parte dentro del rectángulo no tiene contenido ni color. Qué función en Canvas usar
void drawRect(float left, float top, float right, float bottom, Paint paint)
void drawRect(RectF rect, Paint paint)
void drawRect(Rect r, Paint paint)
Gracias.
Intento este ejemplo
Paint myPaint = new Paint();
myPaint.setColor(Color.rgb(0, 0, 0));
myPaint.setStrokeWidth(10);
c.drawRect(100, 100, 200, 200, myPaint);
Dibuja un rectángulo y lo rellena con color negro, pero solo quiero un "marco" como esta imagen:
Respuestas:
Intenta
paint.setStyle(Paint.Style.STROKE)
?fuente
Suponiendo que "la parte dentro del rectángulo no tiene color de contenido " significa que desea diferentes rellenos dentro del rectángulo; debe dibujar un rectángulo dentro de su rectángulo, luego con un ancho de trazo 0 y los colores de relleno deseados.
Por ejemplo:
DrawView.java
La actividad para iniciarlo:
StartDraw.java
... resultará de esta manera:
fuente
fuente
Crea una nueva clase
MyView, Which extends View
. Anula elonDraw(Canvas canvas)
método para dibujar el rectánguloCanvas
.Luego, mueva su actividad de Java al
setContentView()
uso de nuestra Vista personalizada, MyView. Llame de esta manera.Para más detalles puedes visitar aquí.
fuente
y cualquiera de los tuyos
drawRect
debería funcionar.fuente
No sé si es demasiado tarde, pero la forma en que resolví esto fue dibujando cuatro rectángulos delgados que juntos formaron un borde grande. Dibujar el borde con un rectángulo parece que se puede deshacer, ya que todos son opacos, por lo que debe dibujar cada borde del borde por separado.
fuente
El código está bien, solo establece el estilo de pintura como CARRERA
fuente