滚动视图android studio bouncable
Posted
技术标签:
【中文标题】滚动视图android studio bouncable【英文标题】:scroll view android studio bouncable 【发布时间】:2022-01-06 17:12:39 【问题描述】:我实际上尝试了很多来制作滚动视图
弹跳
但我没有成功,并且通过互联网,所有事情都无法正常工作
我试过这些 `公共类 BounceScrollView 扩展 ScrollView 私有静态最终 int MAX_Y_OVERSCROLL_DISTANCE = 200;
private Context mContext;
private int mMaxYOverscrollDistance;
public BounceScrollView(Context context)
super(context);
mContext = context;
initBounceScrollView();
public BounceScrollView(Context context, AttributeSet attrs)
super(context, attrs);
mContext = context;
initBounceScrollView();
public BounceScrollView(Context context, AttributeSet attrs, int defStyle)
super(context, attrs, defStyle);
mContext = context;
initBounceScrollView();
private void initBounceScrollView()
//get the density of the screen and do some maths with it on the max overscroll distance
//variable so that you get similar behaviors no matter what the screen size
final DisplayMetrics metrics = mContext.getResources().getDisplayMetrics();
final float density = metrics.density;
mMaxYOverscrollDistance = (int)(density * MAX_Y_OVERSCROLL_DISTANCE);
@Override
protected boolean overScrollBy(int deltaX , int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent)
//This is where the magic happens, we have replaced the incoming maxOverScrollY with our own custom variable mMaxYOverscrollDistance;
return super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, scrollRangeY, maxOverScrollX, mMaxYOverscrollDistance, isTouchEvent);
` 这是它工作的例子之一,但在某些时候滚动视图卡住了,并且出现了类似的问题,以及其他可用但不起作用的库,所以就像它可以使滚动视图可以弹跳或者没有希望?
【问题讨论】:
【参考方案1】:如果您使用的是SingleChildScrollView
,您可以尝试将BouncingScrollPhysics()
添加到您的小部件中。
@override
Widget build(BuildContext context)
return Scaffold(
body: SafeArea(
child: Container(
alignment: Alignment.center,
width: double.infinity,
height: double.infinity,
child: SingleChildScrollView(
physics: BouncingScrollPhysics(), // add this line
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
// your widget
],
),
),
),
),
);
【讨论】:
兄弟谢谢你。但是如何在 android studio 中使用这些代码。它看起来像扑腾。或者我错了,如果我应该在哪里使用它 @alandsahand 附在这里供您参考,您可以学习如何在 android studio 上安装和使用它。 youtube.com/… 我查了一下,我会这样做谢谢你【参考方案2】:只需在滚动小部件中使用physics: BouncingScrollPhysics()
【讨论】:
以上是关于滚动视图android studio bouncable的主要内容,如果未能解决你的问题,请参考以下文章
如何将 listView 放在 android studio 的滚动视图中?
在 Android Studio 中设计可滚动内容时要遵循的方法是啥?
Android studio自动horizontalscrollview无限滚动直到结束然后重复
ScrollView在android studio中不起作用,期望的输出没有出现