style studio programacion poner edittext como color bordes borde android border android-canvas paint fill

studio - poner borde a un textview android



Dibujando un rectángulo relleno con un borde en Android (3)

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 nuevamente el rectángulo con el tamaño normal.

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


Intenta pintar setStyle (Paint.Style. FILL ) y pinta. 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 varias vistas, también puede usar dos pinturas, una para el trazo y otra para el relleno. De esa forma no tienes que seguir reiniciándolos.

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 }