Dibujar un rectángulo relleno con un borde en android

¿Hay alguna manera en Android para dibujar un rectángulo lleno con decir un borde negro. Mi problema es que canvas.draw () toma un objeto de pintura y, a mi entender, el objeto de pintura no puede tener un color diferente para el relleno y el trazo. ¿Hay alguna forma de evitar esto?

Dibuja un rectángulo con el color del borde y el tamaño del rectángulo más el borde, cambia el color de la pintura y dibuja de nuevo el rectángulo con el tamaño normal.

Trate de pintar. SetStyle (Paint.Style. FILL ) y pintura. SetStyle (Paint.Style, STROKE).

Paint paint = new Paint(); Rect r = new Rect(10, 10, 200, 100); @Override public void onDraw(Canvas canvas) { // fill paint.setStyle(Paint.Style.FILL); paint.setColor(Color.MAGENTA); canvas.drawRect(r, paint); // border paint.setStyle(Paint.Style.STROKE); paint.setColor(Color.BLACK); canvas.drawRect(r, paint); } 

Si está dibujando múltiples vistas, también podría usar dos pinturas, una para el trazo y otra para el relleno. De esa manera usted no tiene que seguir reajustándolos.

Introduzca aquí la descripción de la imagen

 Paint fillPaint = new Paint(); Paint strokePaint = new Paint(); RectF r = new RectF(30, 30, 1000, 500); void initPaints() { // fill fillPaint.setStyle(Paint.Style.FILL); fillPaint.setColor(Color.YELLOW); // stroke strokePaint.setStyle(Paint.Style.STROKE); strokePaint.setColor(Color.BLACK); strokePaint.setStrokeWidth(10); } @Override protected void onDraw(Canvas canvas) { // First rectangle canvas.drawRect(r, fillPaint); // fill canvas.drawRect(r, strokePaint); // stroke canvas.translate(0, 600); // Second rectangle int cornerRadius = 50; canvas.drawRoundRect(r, cornerRadius, cornerRadius, fillPaint); // fill canvas.drawRoundRect(r, cornerRadius, cornerRadius, strokePaint); // stroke } 
  • Android paddingBottom no funciona sin paddingTop
  • ¿Cómo puedo especificar el relleno según el tamaño de la pantalla
  • Android - Layout está dando botones de relleno adicional; Dándome pelos grises extra
  • Añadir relleno en vista de forma programática
  • ¿Cómo puedo eliminar todo el relleno predeterminado de EditText?
  • El relleno de Button no funciona sin fondo
  • ProgressBar y ProgressBarStyleHorizontal de relleno
  • PreferenceActivity funciona correctamente en Android 2.1, pero no en 4.1 (acolchado)
  • Efectos del acolchado negativo
  • SlidingTabLayout margen izquierdo y derecho
  • Android, ¿Cómo configurar el acolchado izquierdo del botón de Radiobutton mediante programación?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.