码迷,mamicode.com
首页 > 其他好文 > 详细

listview下拉到一定位置显示回到顶部按钮

时间:2014-07-24 22:13:42      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   http   color   os   文件   io   

布局文件:

    <RelativeLayout
        android:id="@+id/ll_list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/ll_bottom"
        android:layout_below="@id/ll_top" >

        <GridView
            android:id="@+id/gv_classify"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#eee"
            android:horizontalSpacing="10dp"
            android:numColumns="4"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:verticalSpacing="10dp"
            android:visibility="visible" >
        </GridView>

        <ListView
            android:id="@+id/lv0"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp" >
        </ListView>

        <ImageButton
            android:id="@+id/btn_top"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:layout_margin="10dp"
            android:background="@null"
            android:src="@drawable/top"
            android:visibility="gone" />
    </RelativeLayout>

 


 

主要代码:

        /* 回到顶端 */
        btn_top.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                lv.setSelection(0);
                btn_top.setVisibility(View.GONE);
            }
        });



        /* listview滚动监听事件 */
        lv.setOnScrollListener(new OnScrollListener() {

            /**
             * 滚动状态改变时调用
             */
            @SuppressLint("NewApi")
            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {
                // 不滚动时保存当前滚动到的位置
                if (scrollState == OnScrollListener.SCROLL_STATE_TOUCH_SCROLL) {

                    if (lv.getFirstVisiblePosition() < 10) {//获取可见的在最顶端的item
                        btn_top.setVisibility(View.GONE);
                    } else {
                        btn_top.setVisibility(View.VISIBLE);
                    }
                }
            }

            /**
             * 滚动时调用
             */
            @Override
            public void onScroll(AbsListView view, int firstVisibleItem,
                    int visibleItemCount, int totalItemCount) {
            }
        });

 


listview滑动之前:

bubuko.com,布布扣

 

 listview下滑一定高度之后:

bubuko.com,布布扣

 

 

--http://www.xuebuyuan.com/613381.html

listview下拉到一定位置显示回到顶部按钮,布布扣,bubuko.com

listview下拉到一定位置显示回到顶部按钮

标签:android   style   blog   http   color   os   文件   io   

原文地址:http://www.cnblogs.com/jxhx/p/3866126.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!