六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 81|回复: 0

Text,Combo添加内容辅助功能[代码提示] [可下载代码]

[复制链接]

升级  39.33%

29

主题

29

主题

29

主题

秀才

Rank: 2

积分
109
 楼主| 发表于 2013-1-27 04:45:00 | 显示全部楼层 |阅读模式
1.       <strong style="" />
a)       ContentProposalAdapter
                         i.              内容建议Adapter类.
b)       IControlContentAdapter<strong style="" />
                         i.              内容接口
c)       TextContentAdapter, ComboContentAdapter
                         i.              内容Adapter类 [专用于Text或Combo的].
                ii.              实现了IControlContentAdapter.
d)       SimpleContentProposalProvider
                         i.              建议Provider类.
e)       AutoCompleteField
                    i.              从ContentProposalAdapter和SimpleContentProposalProvider扩展出来的一个简易使用的类.
2.       Text
a)       提示内容: "aa", "BB", "无敌"
b)       输入一个a, 则自动弹出下面的shell, 并且将内容列表过滤后, 只出现以a开头的内容.
c)       不区分大小写, 无论输入'a'或'A', 效果都是一样的.
d)       代码:
                         i.              new AutoCompleteField(nameT, new TextContentAdapter(), new String[]{"aa", "BB", "无敌"});
 
 
3.       Combo
a)       提示内容: "BeiJing", "南京", "北京"
b)       代码:
                         i.              new AutoCompleteField(cityC, new ComboContentAdapter(), new String[] {"BeiJing", "南京", "北京"});
 
 
4.       更多自定义功能<strong style="" />
a)       快捷键"Ctrl+1" 弹出提示.
b)       .或 空格 弹出提示.
c)       200毫秒弹出提示.
d)       代码:
       KeyStroke keyStroke = null; // null 表示不接受快捷键

       try {

           keyStroke = KeyStroke.getInstance("Ctrl+1"); // 在text上按Ctrl+1弹出popup的shell.

       } catch (Exception e) {

           e.printStackTrace();

       }

       ContentProposalAdapter adapter = new ContentProposalAdapter(remarksT, new TextContentAdapter(), new SimpleContentProposalProvider(new String[] {"one", "two", "three"}), keyStroke, new char[] {'.', ' '});

 
 
5.       代码解释<strong style="" />
a)       可以不用给ContentProposalAdapter指定LabelProvider. 如果指定,则不仅仅可以显示Text, 还可以显示Image.<strong style="" />
b)       KeyStroke.getInstance("Ctrl+1").快捷键是Ctrl+1.<strong style="" />
c)       ContentProposalAdapter.setAutoActivationDelay(200); 弹出popup的延迟时间.
d)       ContentProposalAdapter.setPropagateKeys(true);
                     i.              说明: 如果用户敲入的字母在内容列表内时,是否弹出popup内容列表.
                  ii.              true 弹出. 用户输入'o'会弹出popup的shell. 输入'.'或空格也会弹出.
              iii.              false 不弹出. 用户只有输入'.'或空格才弹出popup的shell. 输入'o'等,不弹出,即使'o'在内容中存在.
e)       ContentProposalAdapter.setFilterStyle(ContentProposalAdapter.FILTER_*);
                     i.              作用: 在用户敲入字母的时候是否过滤popup弹出的shell里面的内容.
                  ii.              ContentProposalAdapter.FILTER_NONE 不过滤. 说明: 下面的内容列表永远不变.
              iii.              ContentProposalAdapter.FILTER_CHARACTER 只用一个输入字符为条件过滤下面的内容列表. 说明:在输入多个字符后,下面的内容列表会被清空.
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表