android 瀑布流

简介: 引用:http://www.cnblogs.com/oldfeel/archive/2012/06/01/2530584.html ArcHFSearchResult.

引用:http://www.cnblogs.com/oldfeel/archive/2012/06/01/2530584.html

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/arc_hf_search_result"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:id="@+id/arc_hf_search_item"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
    </LinearLayout>

</ScrollView>
复制代码

ArcHFSearchResult.java

复制代码
public class ArcHFSearchResult extends Activity {
    protected static final String TAG = "ArcHFSearchResult";
    private ScrollView svResult;
    private LinearLayout llItem;
    private String[] arrayStr;
    private int pageCount = 0;
    private int resultCount = 10000;
    private int eachCount = 3000;
    private View view;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        svResult = (ScrollView) findViewById(R.id.arc_hf_search_result);
        llItem = (LinearLayout) findViewById(R.id.arc_hf_search_item);
        svResult.setOnTouchListener(svListener);
        view = svResult.getChildAt(0);
        // 将要显示的10000条数据
        arrayStr = new String[resultCount];
        for (int i = 0; i < resultCount; i++) {
            arrayStr[i] = i + "";
        }
        // 第一次添加数据,每次添加3000条。
        AddResult();
    }

    class svTouchListener implements OnTouchListener {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                break;
            case MotionEvent.ACTION_UP:
                // 如果触发监听事件,并且有内容,并且ScrollView已经拉到底部,加载一次数据
                if (svListener != null
                        && view != null
                        && view.getMeasuredHeight() - 20 <= svResult
                                .getScrollY() + svResult.getHeight()) {
                    AddResult();
                }
                break;
            default:
                break;
            }
            return false;
        }
    }

    svTouchListener svListener = new svTouchListener();

    /**
     * 添加结果
     */
    protected void AddResult() {
        if (eachCount * pageCount < resultCount) {
            for (int i = 0; i < eachCount; i++) {
                int k = i + eachCount * pageCount;
                if (k >= resultCount)
                    break;
                TextView tv = new TextView(this);
                tv.setText("hello world" + arrayStr[k]);
                llItem.addView(tv);
            }
            pageCount++;
        }
    }
}
相关文章
|
缓存 Android开发
Android RecyclerView 实现瀑布流
Android RecyclerView 实现瀑布流
|
缓存 Java Android开发
Android使用LruCache、DiskLruCache实现图片缓存+图片瀑布流
**本文仅用于学习利用LruCache、DiskLruCache图片缓存策略、实现瀑布流和Matix查看大图缩放移动等功能,如果想用到项目中,建议用更成熟的框架,如[glide]
198 0
|
Android开发 数据格式 XML
Android RecyclerView(瀑布流)水平/垂直方向分割线
 Android RecyclerView(瀑布流)水平/垂直方向分割线 Android RecyclerView不像过去的ListView那样随意的设置水平方向的分割线,如果要实现RecyclerView的水平/垂直分割线,则需要继承自RecyclerView.ItemDecoration重写getItemOffsets方法,从而增加水平/垂直分割线。
1644 0
|
1天前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
39 18

热门文章

最新文章

  • 1
    Android历史版本与APK文件结构
  • 2
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
  • 3
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 4
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
  • 5
    【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
  • 6
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 7
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
  • 8
    escrcpy:【技术党必看】Android开发,Escrcpy 让你无线投屏新体验!图形界面掌控 Android,30-120fps 超流畅!🔥
  • 9
    Android实战经验之Kotlin中快速实现MVI架构
  • 10
    即时通讯安全篇(一):正确地理解和使用Android端加密算法