2010-12-27 11 views
4

많은 필드가있는 폼이 있고 "제출"버튼을 누르면 스크롤되지 않은 필드가있는 위치로 스크롤 할 수 있습니다. scrollto (x, y) 이외의 다른 방법이 있나요? 또는 그러한 좌표가 항상 양식 요소에 매핑되어야합니다 (form 요소) .getCoordinates())?폼 요소로 스크롤

감사

+0

을 시도 코드 왜 당신은 내가의 (x, y)를 얻을 수있는 방법, scrollto (x, y)는 내가 그 요점 – 100rabh

+0

쉬운 것 believ을 위해하지 않을 xain - 라디오 버튼을 보자. – xain

+0

xain 그런 다음 http://developer.android.com/reference/android/view/View.html#를 사용하여 각보기의 너비와 높이를 컨테이너에 보관할 수 있습니다 (선호하는 arraylist에서 스크롤 할 위치를 확보 할 수 있음). getHeight() – 100rabh

답변

2

ScrollViews에는 이러한 기능을 위해 미리 정의 된 메서드 scrollTo() & scrollBy()이 있습니다.

저는 여러분이 좌표를받는 데 문제가 있다고 생각합니다. 따라서 View.getHeight 방법 & 높이를 사용하여 각보기 (세로 공간을 소비하는)의 저장소 높이를 Map collection에 제안합니다. 아래 내가

scrollView.post(new Runnable() { 
       public void run() { 
       Integer emailTextViewHeight = (Integer)hashMap.get("EmailTextViewHeight"); 
      scrollView.scrollBy(0, emailTextViewHeight);//scrolls to emailTextView 
       } 
      }); 
+0

좋은 감사의 인사 – xain

6

이 작동합니다 -

view.setFocusableInTouchMode(true); 
view.requestFocus(); 
view.requestRectangleOnScreen(viewRectangle); 

당신은 항상 View 클래스에서 좀 걸릴 수 있습니다.

P. 응답하지 않은 필드가 선택되지만 화면 밖으로 벗어난 경우 활동이 요청 된 위치로 스크롤되는지 확실하지 않습니다.

+0

view.requestFocusFromTouch()를 호출하면 실제로 뷰에 초점을 맞추고 화면을 스크롤합니다. –

관련 문제