Android: HorizontalScrollView inside ScrollView

2022-09-03 07:10:20

我在ScrollView中有多个 HorizontalScrollView水平滚动根本不平滑。我必须几乎完全水平滚动才能滚动工作。有没有一个简单的修复来调整这个???谢谢!

Multiple HorizontalScrollViews inside a single ScrollView


答案 1

您可以将回收站视图与交错布局管理器一起使用

 StaggeredGridLayoutManager  staggeredGridLayoutManager = new StaggeredGridLayoutManager(4, StaggeredGridLayoutManager.HORIZONTAL);

 RecyclerViewAdapter recyclerViewAdapter = newRecyclerViewAdapter(this);

 recyclerView.setAdapter(recyclerViewAdapter); //Don't miss to initialize your adapter

答案 2

此类创建一个 ScrollView,其中包含一个组合成一个类的 HorizontalScrollView。您可以使用AddChild()方法将内容放入其中。dispatchTouchEvent overide 可保持滚动平滑,因此只需滑动一下手指即可进行平移。

(我最近用它来包装以编程方式创建的TextView)

class MultiScrollView extends ScrollView
{           
 public HorizontalScrollView hscroll;

 public MultiScrollView ( Context context ) 
 { 
   super( context );
 }

 public void AddChild( View child ) 
 {                                              
   hscroll.addView( child );
 }

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

推荐