ListView快速滚动示例增加首字母提示
2011-05-04 10:29
281 查看
在自定义ListView FastScroller滑块图片中实现了快速滚动。在原有示例基础上增加了这样的功能:
![](http://marshal.easymorse.com/wp-content/uploads/2011/01/image_thumb29.png)
![](http://marshal.easymorse.com/wp-content/uploads/2011/01/image_thumb30.png)
本文和上面示例借鉴了:
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://marshal.easymorse.com/wp-content/uploads/2011/01/image_thumb29.png)
![](http://marshal.easymorse.com/wp-content/uploads/2011/01/image_thumb30.png)
本文和上面示例借鉴了:
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方法。
相关文章推荐
- ListView快速滚动示例增加首字母提示(转)
- ListView快速滚动加首字母提示
- ListView快速滚动加首字母提示
- Android编程实现ListView滚动提示等待框功能示例
- listview实现自动向上滚动,快速滚动,和滚动条的一些设置
- 横向ListView (二)—— 添加快速滚动功能及item相关事件实现
- Android中ListView字母排序,实现字母挤压效果以及右侧快速选中字母,搜索关键字功能
- Struts2 快速入门(hello struts2 简单示例,配置开发模式,导入struts源码,设置struts.xml源码提示)
- 快速集成android实现listview的字母A-Z排序,界面侧边字母索引
- 自定义循环滚动的图片播放器 ScrollingImageListView说明及示例
- 模仿通讯录按字母分类显示,汉字,英文自动按英文字母分类显示,滑动时用气泡显示最上面的汉字首字母提示,右侧字母栏点击快速定位
- Android ListView滚动提示等待框
- 模仿通讯录按字母分类显示,汉字,英文自动按英文字母分类显示,滑动时用气泡显示最上面的汉字首字母提示,右侧字母栏点击快速定位
- Android 联系人分章节显示以及ListView快速滑动显示联系人首字母
- 快速集成android实现listview的字母A-Z排序,界面侧边字母索引
- ListView字母快速索引 自动搜索
- listview实现自动向上滚动,快速滚动,和滚动条的一些设置
- ListView 增加的item滚动方式
- 解决Android5.0 ListView快速滚动后,接近顶部时滚动方向反向的bug
- 关于recycleview和listview字母索引滚动的问题