Android超简单实现listview上下拉伸回弹动画效果
2015-05-07 11:24
579 查看
超简单实现listview上下拉伸回弹动画效果
希望能帮到大家,共同进步[code]import android.annotation.SuppressLint; import android.content.Context; import android.util.AttributeSet; import android.util.DisplayMetrics; import android.widget.ListView; public class MyListView extends ListView { private Context mContext; private int mMaxYOverscrllDistance; //回弹距离 private int MAX_Y = 200; public MyListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); this.mContext = context; initBounceListView(); } public MyListView(Context context, AttributeSet attrs) { super(context, attrs); this.mContext = context; initBounceListView(); } public MyListView(Context context) { super(context); this.mContext = context; initBounceListView(); } private void initBounceListView(){ DisplayMetrics metrics = mContext.getResources().getDisplayMetrics(); float desity = metrics.density; //允许超出边界高度的最大距离 mMaxYOverscrllDistance = (int) (desity*MAX_Y); } @SuppressLint("NewApi") @Override protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) { // 当listview滑动超出范围的时候,回调该方法,并提供参数做处理 return super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, scrollRangeY, maxOverScrollX, mMaxYOverscrllDistance, isTouchEvent); } } @SuppressLint("NewApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout linearLayout = new LinearLayout(this); linearLayout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); setContentView(linearLayout); MyListView listview = new MyListView(this); //设置上拉的显示图片 listview.setOverscrollHeader(getResources().getDrawable(R.drawable.ic_launcher)); linearLayout.addView(listview, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new String[]{ "a","b","c","d","e","f","g","h","l","n","a","b","c","d","e","f","g","h","l","n" }); listview.setAdapter(adapter); } -就是这么简单,就是这么任性实现listview上下拉伸回弹效果
相关文章推荐
- Android 三种布局实现上下回弹效果(普通布局,ListView,ScrollView)
- Android 弹性ListView和ScrollView 简单优雅地实现回弹效果
- Android 三种布局实现上下回弹效果(普通布局,ListView,ScrollView)
- Android回弹阻尼效果的简单实现,非基于ListView,ScrollView
- Android使用最简单的方式实现ListView 拉出回弹效果,阻尼效果(一)
- Android使用ListView实现滚轮的动画效果
- Android使用ListView实现滚轮的动画效果实例
- Android基础-简单的动画实现 *补间动画 *透明度渐变 *旋转动画 *位移动画 *如果需要几个效果整合到一起,需要将所有效果全部放到set里
- Android实现手势滑动和简单动画效果
- android 简单实现GridView的Item逐个加载和动画效果
- Android 页面惯性回弹效果,Nested接口接口简单实现。
- Android 简单实现ListView顶部悬浮效果
- Android安卓用Dialog对话框简单并且完美实现popupWindow底部弹出效果,有动画效果
- Android:TextView的垂直滚动效果和上下滚动效果,原生动画实现
- android 实现拉出回弹效果通过自定义ListView重写overScrollBy()
- [Android][UI]模拟器启动界面动画效果的简单实现
- 布局动画Android ScrollView HorizontalScrollView 实现全方向(上下左右)反弹效果
- Android动画效果Animation之Tween实现简单动画
- ListView之简单动画效果实现
- Mono For Android中简单实现按钮的动画效果