9
A
답변
28
:-) 나를 위해 큰 무엇이다 사용자 입력을 제대로 처리해야합니다. onTouchEvent
메서드는 사용자가 손가락을 내려 놓거나 이미 손가락을 화면 위로 움직이거나 손가락을 올 때마다 호출됩니다. 이벤트가 손가락이있는 곳의 X 및 Y 좌표를 전달할 때마다. 예를 들어 비트 맵 내부를 두드리는 사람을 확인하려면 ACTION_DOWN에서 비트 맵 내부에서 터치가 시작되었다는 부울 값을 설정 한 다음 ACTION_UP이 비트 맵 내부에 있는지 확인해야합니다.
3
스티브, 구글은 http://developer.android.com/guide/topics/ui/ui-events.html @ UI 이벤트를 처리하기위한 좋은 기사와 튜토리얼이 있습니다. 시작은, 그러나 당신이 case MotionEvent.ACTION_MOVE
을 처리하기 위해 필요 case MotionEvent.ACTION_UP
public boolean onTouchEvent(MotionEvent event){
int action = event.getAction();
int x = event.getX() // or getRawX();
int y = event.getY();
switch(action){
case MotionEvent.ACTION_DOWN:
if (x >= xOfYourBitmap && x < (xOfYourBitmap + yourBitmap.getWidth())
&& y >= yOfYourBitmap && y < (yOfYourBitmap + yourBitmap.getHeight())) {
//tada, if this is true, you've started your click inside your bitmap
}
break;
}
}
확실히 당신을 위해이 날을 시작했고, 그것은 당신과 같이 뭔가 작업을해야
0
터치를 감지하고 투명하지 않은지 확인합니다. 비트 맵이 직사각형이 아닌 경우이 옵션이 필요합니다. myBitmap은 내가 사용하는 단순한 컨테이너 클래스이다.
private boolean clickOnBitmap(MyBitmap myBitmap, MotionEvent event) {
float xEnd = myBitmap.originX() + myBitmap.width();
float yEnd = myBitmap.originY() + myBitmap.height();;
if ((event.getX() >= myBitmap.originX() && event.getX() <= xEnd)
&& (event.getY() >= myBitmap.originY() && event.getY() <= yEnd)) {
int pixX = (int) (event.getX() - myBitmap.originX());
int pixY = (int) (event.getY() - myBitmap.originY());
if (!(myBitmap.getBitmap().getPixel(pixX, pixY) == 0)) {
return true;
} else {
return false;
}
}
return false;
}
이 완벽
내가 코드를 사용하고 싶지만 비트 맵의 x와 y를 얻는 방법에 대해 궁금해@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
if (clickOnBitmap(dog, event)) {
Toast.makeText(getContext(), "dog", Toast.LENGTH_SHORT).show();
} else if (clickOnBitmap(mouse,event)) {
Toast.makeText(getContext(), "mouse", Toast.LENGTH_SHORT).show();
}
return true;
case MotionEvent.ACTION_OUTSIDE:
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
return true;
}
return false;
}
관련 문제
- 1. 비트 맵에서 바이트 []
- 2. 비트 맵에서 비디오 스트리밍까지
- 3. 비트 맵에서 삼각형을 감지합니다
- 4. 비트 맵에서 픽셀 당 비트 결정
- 5. 안드로이드는 비트 맵에서 .Gif를 만듭니다.
- 6. 비트 맵에서 Bitsperpixel을 얻는 방법
- 7. 멀티 터치 감지
- 8. Alpha가있는 PNG 터치 감지
- 9. 코코아 터치 - 모션 감지?
- 10. MPVolumeView에서의 터치 감지
- 11. 스크롤보기 터치 감지
- 12. Android : 서비스에서 터치 감지
- 13. 언제든지 사용자가 터치 감지
- 14. UIButton 터치 감지
- 15. 텍스트의 손가락 터치 감지
- 16. 외부에서 시작된 터치 감지
- 17. UIView 터치 감지
- 18. java.lang.outofmemoryerror 비트 맵 크기가 비트 맵에서 비트 맵 크기를 초과했습니다
- 19. 타일 맵에서 비 전체 타일의 충돌 감지
- 20. 비트 맵에서 안드로이드로 더 많은 공간을 확보하십시오.
- 21. 비트 맵에서 팔레트를 설정할 수 없습니다.
- 22. 비트 맵에서 그림 상자에 이미지를 입력하는 방법
- 23. 비트 맵에서 사운드 스펙트럼으로 도트를 그립니다.
- 24. 비트 맵에서 scaleX/scaleY는 어떻게 작동합니까?
- 25. 비트 맵에서`pixelized 'SVG 이미지를 만드는 방법은?
- 26. 이벤트 및 비트 맵에서 사전 할당
- 27. PyGame 비트 맵에서 마우스 커서를 설정하십시오
- 28. 두 개의 비트 맵에서 픽셀 블렌드
- 29. OpenGL 렌더링 장면에서 터치 감지
- 30. iOS 사용자 감지 터치 릴리스
의 터치에 코드입니다. 그걸 도와 줄 수있어? –
비트 맵을 캔버스에 그리는 경우,'canvas.drawBitmap' 메쏘드의 인자로 넘겨야하므로 X와 Y 값을 이미 알고 있어야합니다. –