2013-02-28 121 views
2

我搜索了如何在黑莓中设置页眉和页脚,并且我找到了功能setTitle()setStatus()在VerticalFieldManager中设置页眉和页脚

我的问题是我创建了一个扩展VerticalFieldManager的类。在VerticalFieldManager中,它没有显示我setStatus的功能,因为这是MainScreen类的功能。

+1

会告诉你,你尝试过的代码? – Signare 2013-02-28 04:57:04

+0

嗨,在课堂上它没有显示我的setStatus函数。为此,我创建了MyScreen类的对象,并按以下方式使用setStatus函数。 MyScreen.footer.setStatus(bannerAd); – suprita 2013-02-28 06:59:18

+1

什么是页脚?如果你的类扩展了主屏幕,那么使用setStatus(youir_field); – Signare 2013-02-28 07:37:30

回答

2

你说得对。 A VerticalFieldManager不允许您直接setStatus()

理解BlackBerry UI框架中的类之间的关系非常重要。

首先,有Screen类。通常,Screen将占用整个设备屏幕。您的应用中可以有许多不同的Screen类。也许一个Screen的开机画面,一个屏幕地图视图,一个屏幕设置等

里面你的屏幕上,你会经常有Manager类。 A VerticalFieldManager是一种Manager,它按照您添加它们的顺序从上到下排列其内容。 A Manager包含一组相关对象,但它不必跨越整个屏幕高度或宽度。

里面你的经理人,你通常会有多个Field对象。 A Field是分层次中的单个项目。 ButtonField,EditFieldBrowserField是各种领域。他们通常会被添加到经理(容器)中。这些管理人员通常会被添加到屏幕上。

因此,在你的情况下,我认为你应该有一个屏幕类。在该屏幕类中,您将通过调用setTitle()setStatus()来设置标头页脚。页眉和页脚之间的内容将全部包含在您添加到屏幕的VerticalFieldManager中。事情是这样的:

public class MyScreen extends MainScreen { 

    public MyScreen() { 
     super(MainScreen.VERTICAL_SCROLL | MainScreen.VERTICAL_SCROLLBAR); 

     // set a header for this screen 
     setTitle("My Header/Title"); 

     // screen contents go in the vertical field manager 

     // NOTE: you can replace VerticalFieldManager with your own class 
     // that extends Manager, or VerticalFieldManager, if you like 
     VerticalFieldManager vfm = new VerticalFieldManager(); 
     vfm.add(new LabelField("One")); 
     vfm.add(new ButtonField("Two", ButtonField.CONSUME_CLICK)); 
     vfm.add(new CheckboxField("Three", true)); 

     add(vfm); 

     // use a bitmap as a footer 
     Bitmap footer = Bitmap.getBitmapResource("footer.png"); 
     setStatus(new BitmapField(footer)); 
    } 
}