如何在黑莓手机中制作状态栏?

2024-03-16

我想在屏幕底部设置状态栏,它应该在左侧和右侧显示一个按钮。你可以在下面看到我的屏幕。 我的代码是这样的..

private void BottomLayout() 
    {
        Bitmap topBg = Bitmap.getBitmapResource(ImageName.topbar);
        final Bitmap topBg1 = cmn_fun.resizeBitmap(topBg, SCREEN_WIDTH, topBg.getHeight());
        HorizontalFieldManager hfmbottom = new HorizontalFieldManager(Field.USE_ALL_WIDTH)
        {
            protected void paintBackground(Graphics graphics) 
            {
                graphics.drawBitmap(0,0,SCREEN_WIDTH,topBg1.getHeight(), topBg1,0,0 );             
                super.paint(graphics);
            }
            protected void sublayout(int maxWidth, int maxHeight) {
                // TODO Auto-generated method stub
                super.sublayout(topBg1.getWidth(), topBg1.getHeight());
                setExtent(topBg1.getWidth(), topBg1.getHeight());
            }

        };

        Bitmap imgprv=Bitmap.getBitmapResource(ImageName.btn_prev);
        Bitmap imgprv_sel=Bitmap.getBitmapResource(ImageName.btn_prev_sel);     
        btn_prev=new CustomButtonField(0, "", imgprv_sel, imgprv, Field.FIELD_LEFT);
        hfmbottom.add(btn_prev);

        Bitmap imgnext=Bitmap.getBitmapResource(ImageName.btn_next);
        Bitmap imgnext_sel=Bitmap.getBitmapResource(ImageName.btn_next_sel);        
        btn_next=new CustomButtonField(0, "", imgnext_sel, imgnext, Field.FIELD_RIGHT);
        hfmbottom.add(btn_next);


        setStatus(hfmbottom);

    }

提前致谢。


我只向您发布状态栏面板。

实际上在 Horizo​​ntalFieldManager 中它确实会产生问题。

因此找到了以下方法并且它有效。它确实添加了额外的代码,但它有效

import net.rim.device.api.system.Bitmap;
import net.rim.device.api.system.Display;
import net.rim.device.api.ui.DrawStyle;
import net.rim.device.api.ui.Graphics;
import net.rim.device.api.ui.Manager;
import net.rim.device.api.ui.component.ButtonField;
import net.rim.device.api.ui.container.GridFieldManager;
import net.rim.device.api.ui.container.HorizontalFieldManager;
import net.rim.device.api.ui.container.MainScreen;
import net.rim.device.api.ui.container.VerticalFieldManager;

class SampleBottomPanelScreen extends MainScreen {

private HorizontalFieldManager title_bar;

private VerticalFieldManager btn1_manager;
private ButtonField btn1;
private VerticalFieldManager btn2_manager;
private ButtonField btn2;
Bitmap bg_image;

public SampleBottomPanelScreen() {

    //bg_image = Bitmap.getBitmapResource("backgroundImage.png");

    btn1_manager = new VerticalFieldManager(VerticalFieldManager.FIELD_LEFT) {

         protected void sublayout(int maxWidth, int maxHeight)
         {
                int displayWidth = Display.getWidth() / 2;
                int displayHeight = Display.getHeight();

                super.sublayout( displayWidth, displayHeight);
                setExtent( displayWidth, displayHeight);
         }  
    };

    btn2_manager = new VerticalFieldManager(VerticalFieldManager.FIELD_RIGHT | VerticalFieldManager.USE_ALL_WIDTH) {

         protected void sublayout(int maxWidth, int maxHeight)
         {
                int displayWidth = Display.getWidth() / 2;
                int displayHeight = Display.getHeight();

                super.sublayout( displayWidth, displayHeight);
                setExtent( displayWidth, displayHeight);
         }  
    };

    title_bar = new HorizontalFieldManager(Manager.USE_ALL_WIDTH){

        public void paint(Graphics graphics) {
            graphics.setBackgroundColor(0x2bb1ff);
            graphics.clear();

            super.paint(graphics);
        }

        protected void sublayout(int maxWidth, int maxHeight)
        {
            int displayWidth = Display.getWidth();
            int displayHeight = Display.getHeight() / 8;

            super.sublayout( displayWidth, displayHeight);
            setExtent( displayWidth, displayHeight);
        }   
    };

    btn1 = new ButtonField("Submit", ButtonField.LEFT | ButtonField.FIELD_LEFT);
    btn2 = new ButtonField("Cancel", ButtonField.RIGHT| ButtonField.FIELD_RIGHT);

    btn1_manager.add(btn1);
    btn2_manager.add(btn2);

    title_bar.add(btn1_manager);
    title_bar.add(btn2_manager);

    this.add(title_bar);
}
 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在黑莓手机中制作状态栏? 的相关文章

随机推荐

  • 如何用html css实现杂乱的气泡布局?

    我需要有一个像这样的气泡布局 我已经完成了这个阶段的工作 JsBin http jsbin com huyasi 6 由于我对CSS Web设计不太熟练 所以我只能想到使用table tr td 但我可以看到我需要将气泡彼此靠近对齐 如果我
  • 在 CDT 项目中使用不同的 C++ 编译器的正确方法是什么?

    我在 Linux 上使用 Eclipse CDT Mars 2 和 Neon RC 我的发行版的默认 C 编译器是 GCC 5 3 1 但对于我的一些工作 我使用 GCC 4 9 3 我想一切关于我使用 GCC 4 9 3 的项目 工具发现
  • 使用自定义封送拆收器时的 C# Marshal.Sizeof()

    是否可以使用Marshal SizeOf 在使用自定义封送拆收器的结构上 例如 struct Abcde public int test1 MarshalAs UnmanagedType CustomMarshaler MarshalTyp
  • 自定义类上的 List. except

    假设我有一个自定义类 public class WineCellar public string year public string wine public double nrbottles 假设我现在有这个自定义类的列表 List
  • 这些为单例创建静态实例的方法有什么区别?

    我最近遇到了一个错误 该错误仅在将库构建为发布版本而不是调试版本时才会显现出来 该库是一个带有 COM 包装器的 NET dll 我正在使用 CoCreateInstance 在非托管 C 应用程序中从 dll 创建一个类 当我最终找到该错
  • 在Python中,给定一个函数名,如何获取包含该函数的所有模块?

    例如 有os path walk os walk并假设另一个md walk 并假设os是进口的但是md不是 我想要一个像 whereis walk 虽然可以返回os path walk os walk and md walk 或者如果很难知
  • IE9 + IE10 中文本输入的文本垂直居中

    这里的例子 http jsfiddle net D7v2Y http jsfiddle net D7v2Y 在 firefox webkit 中这效果很好 文本居中 不适用于 IE10 或 IE9 input display block b
  • 遍历 Linq 表达式以设置属性字段的值

    这是一个非常复杂的问题 尽管看起来很简单 我想我必须遍历整个表达式树 除非有人知道更好的方法 假设我有一个用户对象 class User public UserAccount Account get set class UserAccoun
  • Data Mapper 是比 Active Record 更现代的趋势吗

    我遇到过几个 ORM 它们最近宣布计划将其实现从 Active Record 迁移到 Data Mapper 我对这个主题的了解非常有限 那么对于那些更了解的人来说一个问题是 Data Mapper 比 Active Record 更新吗
  • 使用 Jekyll 的 Github 页面推送网站后出现空白页面

    我使用 Jekyll 创建了一个 GitHub Pages 网站 浏览时一切正常http 本地主机 4000 http localhost 4000 然后我push到github上 但是访问的时候什么也没有 空白页 没有错误 没有内容 ht
  • 如何检测在asp.net (mvc) 中单击了哪个提交按钮

    我已经阅读了大量使用提交类型输入值的答案 但我的输入按钮集合需要全部具有相同的文本 其他人使用 Javascript 我也试图避免这种情况
  • CreateView 中的 DatepickerWidget

    在我的模型中 我有一个日期字段 所以我想使用日期选择器 如何使用 Django Admin 日期选择器 我找到了在表单中执行此操作的示例 但我只设计了一个模型 是否可以在我的模型中定义这个小部件 您可以使用get form覆盖小部件属性的方
  • Twilio javascript 客户端回调呼叫应答

    我正在使用 Twilio JavaScript 客户端 我能够拨打电话 捕获回调事件 连接和断开连接 如何实现接听电话时的回调 我需要在接听电话后显示通话计时器 Twilio js 客户端有一个 Device 属性 其中包含您可以使用的以下
  • 如何运行 git log 以仅查看特定分支的更改?

    我有一个本地分支跟踪远程 主分支 运行后git pull and git log 日志将显示远程跟踪分支以及当前分支中的所有提交 但是 由于对远程分支进行了如此多的更改 因此我只需要查看对当前本地分支所做的提交 用于仅显示特定分支的提交的
  • 特金特;新班级中的顶级

    我正在使用 Python 和 Tkinter 开发一个项目 我想将其模块化 主要问题之一是我的实施Toplevel小部件太大 我听说可以将此小部件放入一个新类中 问题是我不知道怎么办 这是我定义主窗口的方式 class App tk Tk
  • 如何处理第三方库代码中的 exit() 调用?

    我正在开发一个 C 应用程序 该应用程序使用另一个团队用 C 编写的库 图书馆的作者喜欢打电话exit 当发生错误时 立即结束程序 而不调用 C 应用程序中堆栈上对象的析构函数 应用程序设置了一些系统资源 这些资源在进程结束后不会自动被操作
  • 发送 TCP 请求并获得响应

    我尝试使用 TCP 请求发送一些字符串 我的服务器 ID 和端口是正确的 我搜索 TCP 请求并找到了一些示例或教程 这是我的来源 public class TcpClient public static final String SERV
  • postgres复制命令,二进制文件

    我正在使用 COPY 将字段从表复制到文件 该字段是一个压缩文本文件 因此我使用二进制副本 文件已创建 唯一的问题是 COPY 向文件添加了标头和尾部 这是我不需要的 这可以改变吗 是否有一个参数可以使 COPY 将字段与数据库中的字段完全
  • 如何在 Angular CLI 中更新 Angular 2

    如何更新 Angular 2 版本 我使用 Angular CLI 1 0 0 beta 20 4 并尝试了 npm update save 但它没有执行任何操作 下面是我目前的 package json 文件 感谢对此的任何帮助 name
  • 如何在黑莓手机中制作状态栏?

    我想在屏幕底部设置状态栏 它应该在左侧和右侧显示一个按钮 你可以在下面看到我的屏幕 我的代码是这样的 private void BottomLayout Bitmap topBg Bitmap getBitmapResource Image