웹앱을 개발하고 있는데요~ 웹뷰를 만들었는데 웹뷰 안에 있는 특정 이미지를 롱터치할 경우 컨텍스트메뉴가 나와서 "이미지저장", "이미지보기"를 만드려고 하는데 웹뷰에서 특정 엘리먼트에 접근을 어떻게해야할지 모르겠습니다..ㅜ.ㅜ 웹뷰 통째로 컨텍스트메뉴로 등록은 되는데 특정 엘리먼트별로 접근해서 등록하는 방법은 모르겠는데 도와주세요~~~~~^.^
웹뷰를 registerForContextMenu에 적용하시고
onCreateContextMenu 함수가 실행하였을때
WebView.getHitTestResult() 함수를 호출하면됩니다.
WebView.HitTestResult 형태로 데이터가 반환됩니다.
WebView.HitTestResult.getType() 함수를 이용하면 선택한 데이터의 타입을 확인가능합니다.
참고자료 :
http://stackoverflow.com/questions/4922442/android-webview-detect-long-press-on-a-and-img
http://developer.android.com/reference/android/webkit/WebView.HitTestResult.html
와우~! 감사합니다!!! 프루군님 사랑해요!! >ㅁ< 많은 도움이 됐습니다! 감사합니다...ㅠ.ㅠ.ㅠ.ㅠ 이제 이미지저장 기능만 만들면 되겠어요 ^^
안녕하세요~ 저도 비슷한 고민중인데 질문이 또 있어서 남겨봅니다 ㅠ_ㅜ.
현재 웹뷰에다가 캔버스를 올려서 그리기 모드일때 캔버스에서 return true를 주니까 webview 리스너까지 안떨어지더라구요..
그래서 반대로 false를 주면 될거라 생각했는데 떨어지긴 하는데 그림 그려준 touch에 대해서 전부 안먹은건지 그림이 안그려지구요..
혹시 어떻게 해결할 수 있을까요ㅠ..?
로그인 유지
웹뷰를 registerForContextMenu에 적용하시고
onCreateContextMenu 함수가 실행하였을때
WebView.getHitTestResult() 함수를 호출하면됩니다.
WebView.HitTestResult 형태로 데이터가 반환됩니다.
WebView.HitTestResult.getType() 함수를 이용하면 선택한 데이터의 타입을 확인가능합니다.
참고자료 :
http://stackoverflow.com/questions/4922442/android-webview-detect-long-press-on-a-and-img
http://developer.android.com/reference/android/webkit/WebView.HitTestResult.html