Android 사용자 정의 view 태극 효과 인 스 턴 스 코드 구현
그동안 로 딩 을 원 했 습 니 다.뭘 써 야 좋 을 지 모 르 겠 어 요.그리고 태극 아이콘 이 생각 났 어 요.마지막 에 효과 가 있 었 는데 loading 을 하 는 게 너무 못 생 겼 어 요!!
실현 효 과 는 매우 간단 하 다.우 리 는 베 세 르 곡선 같은 것 을 사용 하지 말 아야 한다.왜냐하면 태극 은 둥 근 원 일 뿐만 아니 라 원 만 그리 면 된다.코드 입력:
검은색 과 흰색 이 있 기 때문에 두 개의 화필 을 각각 검은색 과 흰색 으로 정의 한다.
private void inital() {
whitePaint = new Paint();
whitePaint.setAntiAlias(true);
whitePaint.setColor(Color.WHITE);
blackPaint = new Paint();
blackPaint.setAntiAlias(true);
blackPaint.setColor(Color.BLACK);
}
마지막 으로 원 세 개 를 그리 면 해결 할 수 있다.
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Point centerPoint = new Point(width / 2, height / 2);
canvas.translate(centerPoint.x, centerPoint.y);
canvas.rotate(angle);
//
int radius = Math.min(bitmapwidth, bitmapheight) / 2;
RectF rect = new RectF(-radius, -radius, radius, radius); //
canvas.drawArc(rect, 90, 180, true, blackPaint); //
canvas.drawArc(rect, -90, 180, true, whitePaint); //
//
int smallRadius = radius / 2;
canvas.drawCircle(0, -smallRadius, smallRadius, blackPaint);
canvas.drawCircle(0, smallRadius, smallRadius, whitePaint);
//
canvas.drawCircle(0, -smallRadius, smallRadius / 4, whitePaint);
canvas.drawCircle(0, smallRadius, smallRadius / 4, blackPaint);
if (load) {
angle += 10;
if (angle >= 360) {
angle = 0;
}
}
invalidate();
}
아주 간단 하지 않 습 니까?코드 몇 줄 만 있 으 면 해 결 됩 니 다.처음에 저 는 베 세 르 곡선 을 사용 하려 고 했 습 니 다.(미 쳤 습 니 다!!)읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.