zoukankan      html  css  js  c++  java
  • listView悬浮头部的简单实现

      简而言之   为listView设置onScrollListener  当滑动时 firstVisibleItem>=要悬浮的 item的position时 让悬浮部分显示  否则隐藏

     其实就是在listView之上用帧布局覆盖了一个 悬浮部分 

    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_sticky);
            invis = (LinearLayout) findViewById(R.id.invis);
    
            strs = new String[100];
    
            for (int i = 0; i < 20; i++) {
                strs[i] = "data-----" + i;
            }
    
            lv = (ListView) findViewById(R.id.lv);
            View header = View.inflate(this, R.layout.stick_header, null);//头部内容
            lv.addHeaderView(header);//添加头部
            lv.addHeaderView(View.inflate(this, R.layout.stick_action, null));//ListView条目中的悬浮部分 添加到头部
    
            lv.setAdapter(new ArrayAdapter<String>(this,
                    android.R.layout.simple_list_item_1, strs));
            lv.setOnScrollListener(new OnScrollListener() {
    
                @Override
                public void onScrollStateChanged(AbsListView view, int scrollState) {
    
                }
    
                @Override
                public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {
                    if (firstVisibleItem >= 1) {
                        invis.setVisibility(View.VISIBLE);
                    } else {
    
                        invis.setVisibility(View.GONE);
                    }
                }
            });
        }




    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    
        <TextView
            android:id="@+id/title"
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:background="#332b3b"
            android:gravity="center"
            android:text="标题"
            android:textColor="#ffffff" />
    
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/title" >
    
            <ListView
                android:id="@+id/lv"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />
    
            <LinearLayout
                android:id="@+id/invis"
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:background="#ccedc7"
                android:orientation="horizontal"
                android:visibility="gone" >
    
                <TextView
                    android:id="@+id/tv"
                    android:layout_width="match_parent"
                    android:layout_height="50dp"
                    android:gravity="center"
                    android:text="悬浮部分" />
            </LinearLayout>
        </FrameLayout>
    
    </RelativeLayout>
  • 相关阅读:
    表单提交与后台PHP如何接口?
    json数组转普通数组 普通数组转json数组
    使用Memcache缓存mysql数据库操作的原理和缓存过程浅析
    int(3)和int(10)的区别
    CI 3.0.6 控制器打印base_url 地址不为 localhost的解决方法
    CI3.0控制器下面建文件夹 访问一直404 的解决方法
    http响应需要记住的状态码
    laravel 表单验证 正则匹配
    laravel 加中间件的方法 防止直接打开后台
    Laravel 设置时区
  • 原文地址:https://www.cnblogs.com/bimingcong/p/5382997.html
Copyright © 2011-2022 走看看