专注于blackberry » 在Blackberry编写邮件的窗体中加入控件

      专注于Blackberry

在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";
	}
}

简要介绍一下思路.

  1. 在email编辑器的菜单上加入一个菜单
  2. 再实现这个菜单
  3. 最重要的是如何实现这个菜单.首先得到这个email编辑器窗体,其实就是当前active的窗体,如何得到,上面已经介绍方法了.有意思的是,这个窗体的类是net.rim.device.apps.internal.blackberryemail.email.EmailEditorScreen,你明白什么意思了吗.既然知道窗体了,加入field那就再简单不过了.

总结一下,其实很多功能不是你做不到,二是想不到.我很欣赏BM的这种精神.



5 个评论 »

1.   shangmail 发表于 December 3,2008 15:59:20

感谢博主为尚邮的开发完善提供这么好的资料!

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
这个类当然看不见了,因为是在调试时看到的

本文评论的RSS · TrackBack URI

发表评论