展会信息港展会大全

android ListView快速滚动示例增加首字母提示
来源:互联网   发布日期:2015-11-26 10:20:41   浏览:2984次  

导读:在自定义ListView FastScroller滑块图片中实现了快速滚动。在原有示例基础上增加了这样的功能:本文和上面示例借鉴了:http://blog.csdn.net/sodino/archive/2010/12/15/6077017.aspx做的比较简单。需要为ListV......

在自定义ListView FastScroller滑块图片中实现了快速滚动。在原有示例基础上增加了这样的功能:

本文和上面示例借鉴了:

http://blog.csdn.net/sodino/archive/2010/12/15/6077017.aspx

做的比较简单。需要为ListView注册一个滚动监听器:

listView.setOnScrollListener(new OnScrollListener() {

boolean visible;

@Override

public void onScrollStateChanged(AbsListView view, int scrollState) {

visible = true;

if (scrollState == ListView.OnScrollListener.SCROLL_STATE_IDLE) {

overlay.setVisibility(View.INVISIBLE);

}

}

@Override

public void onScroll(AbsListView view, int firstVisibleItem,

int visibleItemCount, int totalItemCount) {

if (visible) {

overlay.setText(items[firstVisibleItem].substring(0, 1));

overlay.setVisibility(View.VISIBLE);

}

}

});

当然,还需要提示信息的布局文件:

<?xml version="1.0" encoding="utf-8"?>

<TextView xmlns:android="http://schemas.android.com/apk/res/android"

android:minWidth="80dp" android:maxWidth="80dp" android:gravity="center"

android:textSize="70sp" android:textColor="#ffffffff"

android:background="#99000088" android:padding="10dp" android:visibility="invisible"/>

理论上,可以做出很花哨的提示界面。

在Activity的onCreate方法中加入这个界面:

this.overlay = (TextView) View.inflate(this, R.layout.overlay, null);

getWindowManager()

.addView(

overlay,

new WindowManager.LayoutParams(

LayoutParams.WRAP_CONTENT,

LayoutParams.WRAP_CONTENT,

WindowManager.LayoutParams.TYPE_APPLICATION,

WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE

| WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,

PixelFormat.TRANSLUCENT));

这里要注意:

listView.setOnScrollListener(new OnScrollListener() {

boolean visible;

监听器代码中增加了一个visible标志位。用于判断是否滚动状态变化过。否则,启动Activity后,无论提示界面是否invisible,都会显示,因为会调用onScroll方法。

源代码见:

http://easymorse.googlecode.com/svn/tags/ListViewCustomerFastScroller-0.2/

赞助本站

人工智能实验室

相关热词: 首字母 快速滚动

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港