在Blackberry编写邮件的窗体中加入控件
Taigoo 发表于 December 3, 2008 10:10 am
版权信息 :严禁转载, 若想推荐或收藏,请用链接的形式.
网址:http://www.inblackberry.com/web/development/insert-fields-in-blackberry-native-email-system.html
BerryMail新版本里有个附件预览的功能,COOL.具体可以参看这里,http://www.berrymail.cn/berrymail-v-1-2-0-0-now-available.html
顺便借一下它那里的图吧.
我第一眼看见这个图,惊呆了,够酷够炫,够强大.
考虑到预览图片,我觉得还是很简单的.整个预览的东西可以作为一个整体自定义一个控件,实际上这没什么困难的.
我唯一感兴趣的是如何在编写邮件的编辑器里加入这个控件呢.研究了一把,搞定.
先看看我做的结果 吧
直接贴代码,看看是如何实现的.
public static void main(String[] args) {
EditorInEmail eie = new EditorInEmail();
eie.addMenuItem();
}
/**
* Constructor
*/
public EditorInEmail() {
}
/**
* Add the menu items to email view/edit
*/
private void addMenuItem() {
//define
AttachmentMenuItem attachMemuItem = new AttachmentMenuItem(0);
//add the defined menu item into email view.
ApplicationMenuItemRepository.getInstance()
.addMenuItem(ApplicationMenuItemRepository.MENUITEM_EMAIL_EDIT
, attachMemuItem);
}
下面是菜单的实现.
public class AttachmentMenuItem extends ApplicationMenuItem {
public AttachmentMenuItem(int order) {
super(order);
}
/**
* Override
*/
public Object run(Object context) {
//看起来这里有点难度,如何得到这个email窗体呢?
//获取当前的UiApplication.
UiApplication uiApp = UiApplication.getUiApplication();
//狗日的,隐藏的够深的,screen的类型为
//net.rim.device.apps.internal.blackberryemail.email.EmailEditorScreen
//所以还是有个编辑email的窗体.
Screen screen = uiApp.getActiveScreen();
//让我试图在screen里加一个东西吧.
screen.add(new EditField("Tips:","hello, I am embeddedd in Email Editor"));
return context;
}
/**
* Returns a string which is the name of menu item.
*/
public String toString() {
return "Add attachments";
}
}
简要介绍一下思路.
- 在email编辑器的菜单上加入一个菜单
- 再实现这个菜单
- 最重要的是如何实现这个菜单.首先得到这个email编辑器窗体,其实就是当前active的窗体,如何得到,上面已经介绍方法了.有意思的是,这个窗体的类是net.rim.device.apps.internal.blackberryemail.email.EmailEditorScreen,你明白什么意思了吗.既然知道窗体了,加入field那就再简单不过了.
总结一下,其实很多功能不是你做不到,二是想不到.我很欣赏BM的这种精神.
5 个评论 »
2. blackberry 发表于 December 4,2008 16:20:54
知识很专业,很受用,谢谢
3. 专注于blackberry » 在Blackberry编写邮件的窗体中加入控件:编写自定义控件 发表于 December 5,2008 02:06:03
[...] 在上一篇文章<<在Blackberry编写邮件的窗体中加入控件>>介绍了如何在Blackberry自带的mail编辑器里加入控件。其中提到了图片预览的控件,我自己花了点时间写了一个.这样BerryMail的附件预览功能基本上大功告成,难吗?不难。 [...]
4. jacul 发表于 December 14,2008 01:33:38
net.rim.device.apps.internal.blackberryemail.email.EmailEditorScreen,
API里没看到这个类耶
5. Taigoo 发表于 June 28,2009 23:32:27
@jacul
这个类当然看不见了,因为是在调试时看到的

1. shangmail 发表于 December 3,2008 15:59:20
感谢博主为尚邮的开发完善提供这么好的资料!