como desenhar um retângulo vazio com etc. borderWidth = 3 e borderColor = black e parte dentro do retângulo não têm conteúdo ou cor. Qual função no 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)
Obrigado.
Eu tento este exemplo
Paint myPaint = new Paint();
myPaint.setColor(Color.rgb(0, 0, 0));
myPaint.setStrokeWidth(10);
c.drawRect(100, 100, 200, 200, myPaint);
Ele desenha um retângulo e o preenche com a cor preta, mas eu quero apenas "enquadrar" como esta imagem:
Respostas:
Tentar
paint.setStyle(Paint.Style.STROKE)
?fonte
Presumindo que " parte dentro do retângulo não tem cor de conteúdo " significa que você deseja diferentes preenchimentos dentro do retângulo; você precisa desenhar um retângulo dentro de seu retângulo, com largura de traço 0 e as cores de preenchimento desejadas.
Por exemplo:
DrawView.java
A atividade para iniciá-lo:
StartDraw.java
... ficará assim:
fonte
fonte
Crie uma nova classe
MyView, Which extends View
. Substitua oonDraw(Canvas canvas)
método para desenhar o retânguloCanvas
.Em seguida, mova sua atividade Java para
setContentView()
usar nossa visualização personalizada, MyView.Call desta forma.Para mais detalhes você pode visitar aqui
fonte
e qualquer um de seus
drawRect
deve funcionar.fonte
Não sei se já é tarde demais, mas a maneira que resolvi foi desenhando quatro retângulos finos que juntos formavam uma borda grande. Desenhar a borda com um retângulo parece ser reversível, pois eles são todos opacos, então você deve desenhar cada borda da borda separadamente.
fonte
O código é bom, basta definir o estilo de tinta como STROKE
fonte