绝对实用值得珍藏的自定义侧边索引条控件(类联系人侧边栏)
来源:互联网 发布:安全家庭是什么软件 编辑:程序博客网 时间:2024/05/16 14:31
绝对实用值得珍藏的自定义侧边索引条控件(类联系人侧边栏)
为了代码的可重用性,本人已将自定义侧边索引条控件代码封装在一个Android Library库中,下面是使用文档:
IndexView 索引控件类
|---IndexView(Context context, String tag) : constructor 构造方法
|---getIndex() : int 获取当前索引的下标
|---setIndex(int index) : void 设置当前索引的下标
IndexSideBar 索引侧边栏类
|---registerTouchCallback(OnIndexSideBarTouch callback) : boolean 注册触摸事件监听器
|---unregisterTouchCallback(OnIndexSideBarTouch callback) : boolean 取消触摸事件监听器
|---registerIndexChangeCallback(OnIndexSideBarIndexChange callback) : boolean 注册索引改变事件监听器
|---unregisterIndexChangeCallback(OnIndexSideBarIndexChange callback) : boolean 取消索引改变事件监听器
|---setTags(String[] indexTagArray) : void 设置索引关键字数组
|---setBackgroundColor(String color) : void 设置侧边栏背景颜色
|---getCurrentIndex() : int 获取当前索引的下标
|---getIndexViews() : IndexView[] 获取所有的索引控件
|---invalidate() : void 刷新控件
使用步骤如下:
1、导入indexsidebar.jar;
2、在xml布局文件中,将IndexSideBar布局到文件,如demo中的设计;
<personal.custom.opensource.indexsidebar.IndexSideBar android:id="@+id/index_side_bar" android:layout_width="20dip" android:layout_height="match_parent" android:layout_alignParentRight="true" android:focusable="false" android:focusableInTouchMode="false"> </personal.custom.opensource.indexsidebar.IndexSideBar>
mIndexSideBar = (IndexSideBar)findViewById(R.id.index_side_bar); mIndexSideBar.setTags(tags); mIndexSideBar.registerIndexChangeCallback(this); mIndexSideBar.registerTouchCallback(this);
4、在Activity中实现触摸事件接口和索引改变事件接口,如demo中的设计;
@Override public void onIndexSideBarTouch(IndexView indexview, MotionEvent event) { // TODO Auto-generated method stub switch(event.getAction()){ case MotionEvent.ACTION_DOWN: mIndexSideBar.setBackgroundColor(index_pressed_color); mIndexText.setVisibility(View.VISIBLE); break; case MotionEvent.ACTION_MOVE: break; case MotionEvent.ACTION_CANCEL: break; case MotionEvent.ACTION_UP: mIndexSideBar.setBackgroundColor(index_released_color); mIndexText.setVisibility(View.GONE); break; } } @Override public void onIndexChange(IndexView indexview) { // TODO Auto-generated method stub mIndexText.setText(indexview.getTag().toString()); }
5、如4步中所操作的,在onIndexSideBarTouch触摸事件回调接口的MotionEvent.ACTION_DOWN和MotionEvent.ACTION_UP的时候做改变侧边栏的背景颜色操作和索引显示TextView可见性设置;在onIndexChange索引改变事件回调接口中做索引显示TextView改变索引值的动作;
效果图如下:
附件:自定义侧边索引条控件
- 绝对实用值得珍藏的自定义侧边索引条控件(类联系人侧边栏)
- 联系人侧边栏控件
- 自定义侧边快速索引栏
- Android ListView侧边字母索引栏SideBar控件的实现
- 39、微信通讯录联系人快速索引侧边栏SideBar
- tableView侧边栏索引
- 侧边栏索引
- 自定义View实现侧边索引
- 自定义View,实现侧边索引
- 带侧边栏字母索引的列表--重写Button类
- Android 带字母索引的侧边栏
- 测试自定义侧边栏
- 自定义文章侧边栏
- 侧边索引
- android学习笔记:联系人侧边栏的实现
- Android自定义控件--A~Z列表侧边栏索引控件及相关开源实现源码分析
- 模仿联系人侧边栏字母查询
- SectionIndexer解析与使用 联系人侧边栏
- iOS 导航控制器、标签、表视图的创建方法
- 他只得了1%,我们不能雇用他
- 解决!Visual Studio 遇到了异常。这可能是由某个扩展导致的。
- linux 用户和用户组操作
- extjs4中给字段加上单位的二个办法(behind text)
- 绝对实用值得珍藏的自定义侧边索引条控件(类联系人侧边栏)
- 一行代码,浏览器变临时编辑器
- 趣文:计算机网络基本概念趣解
- 我是这么利用数据——一切效率都是因为沟通
- IOS软件工程师课程分享
- DHCP工作原理
- 200 行 C 代码编写你的第一个垃圾收集器
- c++练习
- python中保留两位小数