Android 구현 버튼 드래그 복원 기능
public class MainActivity extends AppCompatActivity {
private ImageButton ibOk ;
private int lastX;
private int lastY;
private int startLeft;
private int startRight;
private int startTop;
private int startBottom;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ibOk = (ImageButton) findViewById(R.id.ib_ok);
ibOk.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
//
int x = (int) event.getX();
int y = (int) event.getY();
switch (action) {
case MotionEvent.ACTION_DOWN:// ,
startLeft = ibOk.getLeft();
startRight = ibOk.getRight();
startTop = ibOk.getTop();
startBottom = ibOk.getBottom();
lastX = x;
lastY = y;
break;
case MotionEvent.ACTION_MOVE:// ,
int offsetX = x - lastX;
int offsetY = y - lastY;
ibOk.layout(ibOk.getLeft() + offsetX, ibOk.getTop() + offsetY,
ibOk.getRight() + offsetX, ibOk.getBottom() + offsetY);
break;
case MotionEvent.ACTION_UP:// ,
ibOk.layout(startLeft, startTop, startRight, startBottom);
break;
}
return true;
}
});
}
}
코드 설명:그림 1 은 전체 코드 입 니 다.단 추 를 누 르 면 마음대로 끌 어 당 길 수 있 습 니 다(X+Y 축).손 을 들 고 단 추 를 초기 위치 로 복원 할 수 있 습 니 다.그림 2 구역 은 이 방식 으로 가로 드래그 를 실현 할 수 있 습 니 다.전화 애니메이션 효 과 를 받 고 왼쪽 에서 받 으 며 오른쪽 에서 끊 을 수 있 습 니 다.
총결산
위 에서 말 한 것 은 편집장 이 소개 한 안 드 로 이 드 실현 버튼 드래그 복원 기능 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 메 시 지 를 남 겨 주세요.편집장 은 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
만약 당신 이 본문 이 당신 에 게 도움 이 된다 고 생각한다 면,전 재 를 환영 합 니 다.번 거 로 우 시 겠 지만 출처 를 밝 혀 주 십시오.감사합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.