2012-11-29 5 views
3

내 앱에는 아래쪽에 이미지와 목록보기가 포함 된 활동이 있습니다. 다음은 활동에서해야 할 일들입니다. 보기 내가 수 있어요 전환됩니다 때 내가 무슨 짓을android - listview 헤더의지도

1. the image view at the top of the page must be of swipe type to show other images. 
2. when the list view gets scrolled the image must get moved along with it. 
3. in the same activity i have a button, when the button is clicked the image must be switcher over to be a mapview. 

1. I have the image view and mapview in view switcher of a separate layout named as header 
2. The header layout is been added in the list view header part. 
이제

목록보기가 스크롤되는 동안, 헤더 부분은 동일에, 그와 함께 스크롤됩니다이다 이미지보기와지도보기간에 전환합니다. 그러나지도가 고정 된 것으로 보이며 다양한 지점을 보러 이동할 수 없습니다.

목록보기 헤더의지도보기 내에서 이동하는 방법.

+0

은 클릭/터치 리스너를 전달해야하는 것처럼 들립니다. 당신이 그것을 처리하지 않은 시스템에게 mapview에 전달되도록 알려줍니다. 지도 뷰를 클릭하거나 드래그하면 어떻게됩니까? – Warpzit

+0

지도 뷰를 클릭하거나 드래그 할 수 없습니다. 이는 "클릭/터치 리스너를 전달해야"한다는 것을 의미합니까? –

+0

코드는 어디에 있습니까? 또한, mapview는 무엇입니까 ??? – suannai

답변

0

이것은 해결책이지만 해결책이 아닙니다. 이 예에서 I는 x 방향으로 스크롤 할 때 false를 반환하는 사용자 지정있는 ScrollView를했습니다 (이벤트가 처리되지 않았으며 다음보기로 전달되는 것을 나타내는) :

public class CustomScrollView extends ScrollView { 
    private GestureDetector mGestureDetector; 
    View.OnTouchListener mGestureListener; 

    public CustomScrollView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     mGestureDetector = new GestureDetector(new YScrollDetector()); 
     setFadingEdgeLength(0); 
    } 

    @Override 
    public boolean onInterceptTouchEvent(MotionEvent ev) { 
     return super.onInterceptTouchEvent(ev) && mGestureDetector.onTouchEvent(ev); 
    } 

    // Return false if we're scrolling in the x direction 
    class YScrollDetector extends SimpleOnGestureListener { 
     @Override 
     public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { 
      if(Math.abs(distanceY) > Math.abs(distanceX)) { 
       return true; 
      } 
      return false; 
     } 
    } 
} 

당신이 필요로하는 당신의 viewswitcher의 특정 지역에서 비슷한 일을 할 수 있습니다. 따라서 기본 viewswitchercomponent를 수정하고 자신 만의 변형을 만들어야합니다.

위 제안에 대한 대안으로 나는 그것을하지 않는 것이 좋습니다. 지도를 사용하여 주변의 앱을 살펴보면 이는 정상적인 동작이 아니며 매우 원활하게 실행되거나 우수한 사용자 상호 작용을 할 수 있을지는 의문입니다. 지도는 일반적으로 가능한 한 많은 공간을 확보하면 가장 잘 작동합니다. Google지도, Google지도, Google 위도, 옐프 등 일부 기본지도 앱을 살펴보세요.