0
프로그래밍 방식으로 배경 및 테두리를 사용자 지정 색으로 그릴 수 있도록 ShapeDrawable을 확장하는 사용자 지정 클래스를 사용하고 있습니다.프로그래밍 방식으로 획 스타일로 페인트 아래쪽을 비활성화 할 수 있습니까?
코드 :
public class CustomBorderDrawable extends ShapeDrawable {
private Paint fillpaint, strokepaint;
private int WIDTH = 3;
public CustomBorderDrawable(Shape s) {
super(s);
fillpaint = this.getPaint();
strokepaint = new Paint(fillpaint);
strokepaint.setStyle(Paint.Style.STROKE);
strokepaint.setStrokeWidth(WIDTH);
strokepaint.setARGB(255, 0, 0, 0);
}
@Override
protected void onDraw(Shape shape, Canvas canvas, Paint fillpaint) {
shape.draw(canvas, fillpaint);
shape.draw(canvas, strokepaint);
}
public void setFillColour(int c){
fillpaint.setColor(c);
}
public void setBorderColour(int c){
strokepaint.setColor(c);
}
public void setStrokeWidth(int px){
this.WIDTH = px;
strokepaint.setStrokeWidth(WIDTH);
}
public void setBottomEnable(boolean enable){
//TODO
}}
당신은 내가 내 strokepaint의 하단 부분을 사용하거나 사용하지 할 수 있도록 기능을 추가 할 볼 수 있듯이.
나는 프로그래밍 방식으로 어떻게 XML 솔루션을 발견 했습니까?
해결 방법은 내 경계의 맨 앞에 막대를 놓을 수도 있지만 그 방법을 모르겠습니다.
나는 모든 획을 비활성화하고 싶지 않습니다. 하단 부분 만 비활성화하려고합니다. – Firerazzer
canvas.drawRect()를 사용하여 모양에 직사각형을 그려서 최종선을 활성화 및 비활성화 할 수 있습니다. 모양에 따라 시작점과 끝점을 계산해야합니다. 당신과 함께 OnDraw()에서 canvas.drawRect를 호출하십시오. – Sonam
@ Sonam에게 감사하지만, 내가 말했듯이, 어떻게 해야할지 모르겠다 ... 나는 결코 안드로이드에서 그릴 수있는 페인트, 캔버스 및 기타 도구를 사용하지 않습니다. 나와 같은 초보자를위한 연구 트랙이나 tuto를 줄 수 있습니까? – Firerazzer