Android 사용자 정의 View 드래그 효과 구현
일단 효과 도 를 볼 게 요.
실현 절 차 를 간단히 말씀 드 리 겠 습 니 다.
1.클래스 계승 뷰 만 들 기
2.작은 공 을 그립 니 다.
3.onTouchEvent 를 다시 쓰 고 손가락 에 따라 내 려 놓 고 이동 하 며 들 어 올 려 작은 공 을 제어 합 니 다.
4.레이아웃 에서 직접 참조
먼저 그림 을 한 장 붙 여서 View 의 좌표계 를 보 세 요.
다음은 코드 를 붙 이 고 마지막 으로 소스 코드 를 드 리 겠 습 니 다.
public class CustomView extends View {
private int lastX;
private int lastY;
private int startLeft;
private int startRight;
private int startTop;
private int startBottom;
public CustomView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//
Paint paint = new Paint();
paint.setStrokeWidth(30);
paint.setColor(Color.parseColor("#FF0000"));
paint.setAntiAlias(true);
paint.setStyle(Paint.Style.FILL_AND_STROKE);
canvas.drawCircle(getWidth()/2,getHeight()/2,30,paint);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
int action = event.getAction();
//
int x = (int) event.getX();
int y = (int) event.getY();
switch (action){
case MotionEvent.ACTION_DOWN:// ,
startLeft = getLeft();
startRight = getRight();
startTop = getTop();
startBottom = getBottom();
lastX = x;
lastY = y;
break;
case MotionEvent.ACTION_MOVE:// ,
int offsetX = x - lastX;
int offsetY = y - lastY;
layout(getLeft()+offsetX,getTop()+offsetY,
getRight()+offsetX,getBottom()+offsetY);
break;
case MotionEvent.ACTION_UP:// ,
layout(startLeft, startTop, startRight, startBottom);
break;
}
return true;
}
}
레이아웃 에서 이 사용자 정의 View 를 직접 참조 하면 너비 와 높이 를 고정 시 킬 수 있 습 니 다. 원본 주소:Android 사용자 정의 보기 단순 드래그 효과
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.