在VerticalFieldManager中设置BlackBerry中的页眉和页脚

时间:2013-02-28 04:52:04

标签: blackberry footer

我搜索了如何在BlackBerry中设置页眉和页脚,我找到了函数setTitle()setStatus()

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

1 个答案:

答案 0 :(得分:2)

你是对的。 VerticalFieldManager不允许您直接setStatus()

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

首先,有Screen个类。通常情况下,Screen会占用整个设备屏幕。您的应用中可以有许多不同的Screen课程。也许一个Screen用于启动图像,一个屏幕用于地图视图,一个用于设置屏幕等。

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

在您的经理内部,您通常会有多个Field个对象。 Field是层次结构中的单个项目。 ButtonFieldEditFieldBrowserField是各种字段。它们通常会添加到经理(容器)中。那些经理通常会被添加到屏幕上。

所以,在你的情况下,我认为你应该拥有的是一个屏幕类。在该屏幕类中,您将通过调用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));
   }
}