> Java > java지도 시간 > 안드로이드는 드래그 기능 구현 ~ 구성 ~ 개인 테스트 가능

안드로이드는 드래그 기능 구현 ~ 구성 ~ 개인 테스트 가능

PHP中文网
풀어 주다: 2017-08-02 11:26:48
원래의
2017명이 탐색했습니다.

Android 애플리케이션을 개발하려면 먼저 eclipse, jdk 및 sdk를 설치한 다음 Android 휴대폰 에뮬레이터를 만들어야 합니다. 여기서는 별로 할 말이 없습니다.

안드로이드의 드래그 기능은 다양한 상황에서 나타나기 때문에 이 기능을 구현하는 방법은 제가 직접 수정하고 디버깅했습니다.

코드는 다음과 같습니다.

먼저 뷰 인터페이스에서 imageView1과 imageView2의 두 인스턴스를 만든 다음 다음 코드를 Java 클래스 파일에 붙여넣습니다.

private int screenWidth; 
private int screenHeight; 
private ImageView img1; 
private ImageView img2;
img1 = (ImageView) findViewById(R.id.imageView1); 
img2 = (ImageView) findViewById(R.id.imageView2);
DisplayMetrics dm = getResources().getDisplayMetrics(); 
screenWidth = dm.widthPixels; 
screenHeight = dm.heightPixels - 50;
img1.setOnTouchListener(movingEventListener); 
img2.setOnTouchListener(movingEventListener);
private OnTouchListener movingEventListener = new OnTouchListener() { 
int lastX, lastY; 
@Override 
public boolean onTouch(View v, MotionEvent event) { 
    switch (event.getAction()) { 
    case MotionEvent.ACTION_DOWN: 
        lastX = (int) event.getRawX(); 
        lastY = (int) event.getRawY(); 
        break; 
    case MotionEvent.ACTION_MOVE: 
        int dx = (int) event.getRawX() - lastX; 
        int dy = (int) event.getRawY() - lastY;
        int left = v.getLeft() + dx; 
        int top = v.getTop() + dy; 
        int right = v.getRight() + dx; 
        int bottom = v.getBottom() + dy; 
        // ÉèÖò»Äܳö½ç 
        if (left < 0) { 
            left = 0; 
            right = left + v.getWidth(); 
        }
        if (right > screenWidth) { 
            right = screenWidth; 
            left = right - v.getWidth(); 
        }
        if (top < 0) { 
            top = 0; 
            bottom = top + v.getHeight(); 
        }
        if (bottom > screenHeight) { 
            bottom = screenHeight; 
            top = bottom - v.getHeight(); 
        }
        v.layout(left, top, right, bottom);
        lastX = (int) event.getRawX(); 
        lastY = (int) event.getRawY();
        break; 
    case MotionEvent.ACTION_UP: 
        break; 
    } 
    return true; 
} 
};
로그인 후 복사

프로그래밍을 배우기 위해 PHP 중국어 웹사이트에 오신 것을 환영합니다

기사 주소 ://m.sbmmt.com/java-article-375823.html

______________ PHP 중국어 사이트_______________

위 내용은 안드로이드는 드래그 기능 구현 ~ 구성 ~ 개인 테스트 가능의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿