在我的应用程序中,在底部有一个包含了一个图片和一个列表视图的activity。下边的这些是我想在activity中做的。
1.页面顶部的图片视图必须转换类型来显示其他的图片。
2.当列表视图滚动的时候,图片必须跟着他一起滚动。
3.在同样的activity中有一个button,当点击button的时候,图像必须转成一个mapview。
我已经做的是,
1.我已经让图像视图和mapview在试图转换器中成为了一个单独的布局,并且命名为header。
2.header布局文件已经被添加到了列表视图的头部。
现在当列表视图滚动的时候,标题也跟着一起滚动,同样的,当转换视图的时候我能在图片视图和mapview中转换。但是map似乎是固定的,而且不能移动到各个地方。
怎么移动在mapview中列表的标题?
这是一个例子,不是解决方案。在这个例子中,我弄了一个自定义scrollview,当在X轴方向上滚动的时候就会返回错误(表明事件还没有被处理,应该被传递到下一个视图。)
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);
}
// 如果我在x方向滚动,返回错误。
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地图等。