zoukankan      html  css  js  c++  java
  • Android 实现瀑布流的两种思路

    瀑布流怎么样我就不多介绍了。下面说说我想到的两个方法。
    方法一,控件的叠加:
    ScrollView+LinearLayout。在ScrollView里面加一个水平方向的LinearLayout,在水平Layout里面加几个竖直方向的LinearLayout,然后根据滑动情况去加载和回收Bitmap,甚至可以回收ImageView(回收Bitmap的同时remove掉ImageView,加载Bitmap的同时addView,需要把握好View的位置),思路较好实现。

    方法二,自定义ViewGroup:
    加载图片时,记住图片信息(宽,高,url等),并计算出图片应该摆放的位置,在ViewGroup添加ImageView用于展示图片,这时实现ViewGroup的onLayout方法,在onLayout方法里面根据计算的图片位置信息来调用imageView.layout()方法。图片排列好后,需要自己去处理滑动,在Ontouch事件里面去使用ScrollBy/ScrollTo来实现滑动的效果,同时可以在ACTION_UP里面去处理滑动回弹fling的效果。这里需要注意的是ViewGroup默认不去拦截Touch事件。这里需要重写onInterceptTouchEvent方法,让其返回true来拦截Touch事件。

  • 相关阅读:
    25:最长最短单词
    09:向量点积计算
    08:石头剪刀布
    07:有趣的跳跃
    36:计算多项式的值
    33:计算分数加减表达式的值
    hdu 2289 Cup (二分法)
    Android-补间动画效果
    UVA 586 Instant Complexity
    企业门户(Portal)项目实施方略与开发指南
  • 原文地址:https://www.cnblogs.com/ProtectedDream/p/6412658.html
Copyright © 2011-2022 走看看