gpt4 book ai didi

android - 二维滚动……需要反馈的建议

转载 作者:搜寻专家 更新时间:2023-11-01 08:55:19 24 4
gpt4 key购买 nike

虽然我花了很多时间在谷歌上搜索相对简单的解决方案,但我发现这是二维滚动的解决方案。我有一个嵌套在 ScrollView 中的水平 ScrollView 。我以几种方式摆弄了这个,但没有成功地使任何功能发挥作用。有没有人对如何实现这样的概念有任何想法?

Scrollview scrollY = (ScrollView)findViewById(R.id.scrollY);
LinearLayout scrollYChild = (LinearLayout)findViewById(R.id.scrollYChild);

@Override
public boolean dispatchTouchEvent(MotionEvent event) {
scrollYChild.dispatchTouchEvent(event);
scrollY.onTouchEvent(event);
return true;
}

我还发现了这个:http://blog.gorges.us/2010/06/android-two-dimensional-scrollview/但是我完全不明白如何正确地实现这么长的代码。

二维滚动是 webview 固有的,但在其他地方不存在,这对我来说没有多大意义......感谢任何和所有帮助。

编辑:当放大图库中的图像时,它究竟是如何工作的。当然,这里必须有一种方法来实现相同的功能。

最佳答案

我不确定你发布的博客,这是我的解决方案:

/**
* This class disables Y-motion on touch event.
* It should only be used as parent class of HorizontalScrollView
*/
public class ParentScrollView extends ScrollView {
private GestureDetector mGestureDetector;
View.OnTouchListener mGestureListener;

@SuppressWarnings("deprecation")
public ParentScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
mGestureDetector = new GestureDetector(new YScrollDetector());
setFadingEdgeLength(0);
}

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

return false;
}
}

// 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;
}
}
}

XML:

    <com.example.Views.ParentScrollView
android:layout_width="match_parent"
android:layout_height="match_parent" >

<HorizontalScrollView
android:id="@+id/tlDBtable"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >


</HorizontalScrollView>
</com.example.Views.ParentScrollView>

基本上,仅垂直滚动的父 ScrollView 将被禁用,因为您将使用新的自定义类。然后在 ScrollView 中放置一个 HScrollview。 Parentscroll View 即使不垂直于 horiszontalscroll View 也会通过触摸,这使其具有 2D 滚动效果。

关于android - 二维滚动……需要反馈的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19411518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com