首页 > 代码库 > listview下拉到一定位置显示回到顶部按钮
listview下拉到一定位置显示回到顶部按钮
布局文件:
<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滑动之前:
listview下滑一定高度之后:
--http://www.xuebuyuan.com/613381.html
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。