안드로이드 개발 질문/답변
(글 수 45,052)
슬라이딩으로 좌,우 Activity 전환을 하게 했습니다. Fling이죠~!
잘 됩니다.
문제는 슬라이딩 위에 버튼, TextView 이미지, 이런 객체들이 있는데...
사용자가 그위에서 슬라이딩을 하면 안되는겁니다.
객체에는 터치 리스너가 없기때문이죠 (액티비티에서 상속을 받았는데도 안되데요 ㅠ.ㅠ)
그래서
각 객체에 하나씩 하나씩 setOnTouchListener를 달아주면 되기는 합니다만... 한 두개도 아니고...
전부다 리스너를 달아주자니.. 이건 아니다 싶고...
무슨 방법이 없을까요?
소스는 대충 이렇습니다.
public class NaviKeyTab extends Activity implements OnTouchListener {
...
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
...
}
}
고수님들 잘 부탁 합니다.~~!
2011.12.02 15:35:55
........더미로 완성된 액티비티 위에 하나 더 올리세요 전체크기의 투명이미지뷰나..그런것을...
그러면 그 이미지뷰에만 저런리스너 처리 해주면 되지 않나요.....
즉, 다 만들고 그 전체위에다가 하나의 fill속성가진 이미지뷰를 하나 올려서 (물론 컬러는 투명) ....
근데 버튼도 있다고 하셨는데.......그럼 버튼위에서 무브해도 움직이는건가요...그럼 이방법은 곤란한데....




비슷한 경우를 처리해본적이 있는데, View 자체를 override 해서 처리했기 때문에, 그 외에는 setOnTouchListener(this) 로 모두 다 달아주는 방법밖에는 생각이 안나네요.