안드로이드 개발 질문/답변
(글 수 45,052)
안녀하세요.
아래와 같이 레이아웃을 정하고 이미지뷰들을 LinearLayout에 addView 시켰습니다.
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="none" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal" >
</LinearLayout>
</HorizontalScrollView>
그리고 각각의 이미지뷰에 setOnClickListener을 하였는데요.
클릭한 이미지뷰의 getLeft()를 하니 화면내에서의 좌표가 아니라 스크롤뷰에서의 자신의 위치값을 리턴 하네요.
즉 한 두번 스크롤 한후 원하는 이미지뷰를 화면 중앙에 놓고 getLeft()를 해보면 700 이렇게 나옵니다.
저는 화면에서 보여지는 좌표를 원하는데 이건 어떻게 해야 할지 조언 부탁드립니다.
give & take
이상하게 질문을 올리면 방법이 떠오를까요? ^^;;
스크롤뷰에서 getScrollX를 통하여 지금 얼마나 스크롤이 되었는지 알수 있습니다.
그렇다면 imageview.getLeft() - scrollview.getScrollX()를 해주면 화면에서의 좌표를 알 수 있습니다.
이상입니다.
점심 맛있게 하세요.