首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 自定义View 字母索引

开门见山-IndexBar 不管是在QQ上,还是在163的邮箱中,或者自己手机的通讯录中,右侧都会躺着一个这个玩意儿,我姑且不造官方有没有相关的东西,或者大家约定俗成的称呼这个玩意儿叫什么,反正我就叫它索引条...IndexBar从整体样式上(我观察的哈),分为两种,一种就是不管三七二十一,26个字母糊糊的贴上去的那种,还有一种就是根据当前的具体内容,只展示相关的首字母的!...实现思路 这个问题要一分为二来看,首先是怎么把26个字母画出来,然后才是怎么去识别触摸对应的是哪个字母!!...触摸的相关状态添加 首先是触摸到这个索引条,背景加深,这个肯定就是走touch事件了嘛,在ACTION_DOWN的时候修改相关状态,在ACTION_UP的时候,再次刷新相关状态咯。...点击相关回调 用户看到的都是表象,触摸到的肯定是某一个坐标值,这个坐标应该对应这26个字母中的某一个字母的所在的坐标!

69010
您找到你想要的搜索结果了吗?
是的
没有找到

Android 实现带字母索引的侧边栏功能

这两天需要重新拿来使用,发现效果虽然做出来了,不过思路不太对,就重新参考写了一个,用法也更为简单了 首要的自然是需要继承View绘制出侧边栏,并向外提供一个监听字母索引变化的方法 /** * 作者:叶应是叶...break; } invalidate(); return true; } @Override protected void onDraw(Canvas canvas) { if (hit) { //字母索引条背景色...context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } } 在侧边栏时,中间会显示当前滑动指向的字母...tv_hint.setVisibility(View.INVISIBLE); } } } 这里也提供代码下载:LetterIndexView 总结 以上所述是小编给大家介绍的Android 实现带字母索引的侧边栏功能

2.4K41

PostgreSQL插件HypoPG:支持虚拟索引

那有没有啥方法,可以即不浪费时间又不浪费空间,提前知道这个索引能否可用?HypoPG插件可以帮助创建一个虚拟索引,即不耗费CPU也不耗费磁盘。...轻量级实现:HypoPG HypoPG作为扩展插件,可拔插,支持PG9.2及其以上版本,无需重新启动服务即可使用。每个后端都有自己的一组虚拟索引,并不会干扰其他连接。...另外,虚拟索引存储在内存中,添加/删除大量索引并不会使系统目录膨胀。该插件实现的限制:必须通过用户自定义函数来完成。...使用方法 使用时,需要CREATE EXTENSION hypopg;来加载插件。 虚拟索引属于独立后台进程,因此并发时,不同进程的虚拟索引并不会彼此影响。...该插件还提供了隐藏和恢复某个索引的功能: 1)先用hypopg_reset()清除其他索引之前的影响:SELECT hypopg_reset(); 2)创建2个虚拟索引,并执行EXPLAIN rjuju

18030

js插件教程

;我为了方便都写到一个html中了;请把这个script标签中的内容单独写在一个js文件里 //整个插件写在一个立即执行函数里;就是function(){}();函数自执行;保证里面的变量不会与外界互相影响...号(叹号)或者;(分号)这不是写错了,为了防止那个二货写的js结束没有分号;而可能发生报错 /* ;function(win,doc,$,undefined){ }(window...比如你要点击按钮 添加input的值到 div里 var addHtml = function(demo,btn){//插件名,调用的时候直接new一下插件名就行了并传参数或者传对象(一般这个函数名手写字母大写比较好...new addHtml("demo-2","add-2"); //这里是实例2调用插件的代码 //是不是明白为什么要写插件了;要封装;两个相同组件即使有相同的class名在dom...--这里是最简单的插件写法;当然还有传对象参数的插件等等。。。。-->

35.1K10

js插件教程深入

原文地址:https://github.com/lianxiaozhuang/blog 转载请注明出处 js插件教程深入 1.介绍具有安全作用域的构造函数 function Fn(name...Fn.prototype = { constructor:Fn, getF:function(){ console.log(1); } } 2.默认参数 //我们用过一些插件...这要从内存说起;写到原型上,每执行一个实例,getC不需要开辟新的内存 //故,可以把一些纯计算的方法,写原型上,如果方法和实例本身有关,应该写道this中 4.方法名防止冲突处理 //如果在引入你的插件之前...exprot 、amd 完整写法 ;(function(global) { //开启严格模式,规范代码,提高浏览器运行效率 "use strict"; //定义一个类,通常首字母大写...typeof define === 'function') define(function() { return MyPlugin; }); //注册全局变量,兼容直接使用script标签引入该插件

13.8K10
领券