二话不说,把代码贴出来:
package com.demo.main;
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.FrameLayout;
import android.widget.FrameLayout.LayoutParams;
import android.widget.ScrollView;
public class DemoActivity extends Activity
{
float eventY;
int bottomY = 0;
int scrollY;
ScrollView scrollView;
FrameLayout.LayoutParams params;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.demo);
scrollView = (ScrollView) findViewById(R.id.scrollView);//得到ScrollView Id
params = new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);//动态设置宽高
scrollView.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, final MotionEvent event)
{
if (MotionEvent.ACTION_MOVE == event.getAction())//判断是否在滑动
{
float Y = event.getY();//得到滑动中Y轴的值
if (eventY > Y)//判断是否向上滑动
{
int sY = scrollView.getScrollY();//得到scrollView的垂直位移
if (scrollY == sY)//判断是否滑动到底部
{
bottomY += 5;
params.setMargins(0, 0, 0, bottomY);//设置margin
scrollView.setLayoutParams(params);
}
else
{
scrollY = sY;
}
}
else
{
eventY = Y;
}
}
if (1 == event.getAction())//判读是否停止触碰
{
eventY = 0;
bottomY = 0;
params.setMargins(0, 0, 0, 0);
scrollView.setLayoutParams(params);
}
return false;
}
});
}
}
分享到:
相关推荐
这种效果通常会在用户停止滑动后,让视图像弹簧一样缓缓返回到原始位置,给人一种更自然、流畅的触摸反馈。 `ScrollView` 是Android中的一个基础组件,用于展示超过屏幕大小的内容,允许用户通过垂直滚动查看全部...
这个自定义的ScrollView实现了弹簧效果,使得当用户在顶部或底部拖动超出范围时,ScrollView会像弹簧一样回弹,增加了一种动态的视觉反馈。 首先,我们来看一下如何自定义ScrollView。在Android中,自定义控件通常...
当用户滚动到ScrollView的顶部或底部时,有时我们希望实现一个反弹效果,即滚动条会在到达边界后短暂地回弹,增加用户体验的流畅感。这个效果通常被称为“橡皮筋效果”或“弹簧效果”,在iOS中称为“弹性滚动”,在...
在ScrollView中应用这一效果,可以使用户在上下滑动图片时感受到一种平滑的减速感,增加用户体验的真实感和趣味性。 要创建这样一个自定义的ScrollView,我们需要做以下几步: 1. **创建自定义ScrollView**: ...
弹性滚动是指当用户尝试在已经滑动到顶部或底部的ScrollView中继续滑动时,ScrollView会有一种回弹的效果,模拟出一种“超出边界”的视觉反馈。这种效果在很多现代应用中被广泛采用,为用户提供了一种直观的操作提示...
这个反弹效果指的是当用户将ScrollView滚动至顶部或底部后,如果继续滑动,ScrollView会有一个自然的回弹动作,仿佛它有真实的物理弹性一样。 实现ScrollView的反弹效果,通常涉及到Android的触摸事件处理和自定义...
在Android开发中,为了实现类似iOS的弹性滚动效果,开发者们常常会利用自定义View或者第三方库来构建一个“仿IOS的scrollview”。这个“仿IOS的scrollview”主要是模仿iOS中的UIScrollView,它提供了平滑的滚动体验...
这个项目可能涉及到多个技术点,包括滑动视图(ScrollView)、自定义滚动行为、页面回弹效果(橡皮筋效果)以及UI布局优化。下面我们将详细探讨这些关键知识点。 首先,滑动视图(UIScrollView)是iOS中用于实现可...
在UI设计中,回弹效果是指当用户快速滑动一个可滚动视图到边界时,视图会有一种自然的“反弹”或“回弹”动作,如同弹簧一样。这种效果不仅提升了用户体验,还能暗示用户已经到达了内容的顶部或底部。 在Android中...
3. **回弹(Rebound)**: 回弹效果是指当ScrollView滚动到内容的顶部或底部时,会有一个如同弹簧被拉伸后释放的效果,内容会稍微超过边界再弹回来。这种效果使得滚动行为更加自然,增加了用户的沉浸感。 4. **仿iOS**...
在Android原生的`ScrollView`中,当内容滚动到顶部或底部时,滚动会立即停止,没有额外的动态效果。而`ReboundScrollView`通过引入物理动画库(如Facebook的Rebound库)来实现这种上拉下拉拉出屏幕并回弹的效果,...
这种效果通常出现在列表视图的顶部和底部,当用户滚动超过实际内容的边界时,内容会像弹簧一样反弹回来,给人一种自然且生动的交互感。标题“仿IOS页面回弹效果”所指的就是在Android应用中实现类似iOS系统的这种...
要实现回弹效果,我们需要在用户到达视图的顶部或底部时,判断是否需要回弹。这可以通过检查当前滚动位置是否接近边界来实现。如果需要回弹,我们可以添加一个动画,使视图在短时间内缓慢地回到其原始位置,就像...
在Android原生的`ScrollView`中,滚动通常是线性的,但有时候我们希望它具有弹性效果,就像物理世界中的弹簧一样,用户在滚动到顶部或底部时会有回弹的效果。要实现这个效果,我们需要创建一个新的`ScrollView`子类...
此外,通过查看源代码,开发者还能学习到如何在OC中实现复杂的动画效果,提升自己的iOS开发技能。 总的来说,`DGElasticPullToRefresh` 的OC版本`ElasticViewAnimation` 提供了一个优雅的解决方案,用于增强iOS应用...