Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blackberry 黑莓中的setStatus()_Blackberry_Blackberry Simulator_Blackberry Eclipse Plugin - Fatal编程技术网

Blackberry 黑莓中的setStatus()

Blackberry 黑莓中的setStatus(),blackberry,blackberry-simulator,blackberry-eclipse-plugin,Blackberry,Blackberry Simulator,Blackberry Eclipse Plugin,我想在Blackberry屏幕的右下方添加一个LabelField。用于在屏幕底部设置标签 我曾经 this.setStatus(lbl_version); 这使得输出非常好,但是在labelfield后面,背景图像没有设置。标签设置在白色普通背景上。我想在背景图像和屏幕底部设置标签 请看下面的图片网址,你会有更好的想法 提前谢谢。请帮帮我 首先,确保您的LabelField有一个透明的背景,然后您应该可以看到主屏幕上设置的包含它的背景 其次,我相信你需要在主屏幕本身和它的嵌入式“主管理器”上

我想在Blackberry屏幕的右下方添加一个LabelField。用于在屏幕底部设置标签

我曾经

this.setStatus(lbl_version);
这使得输出非常好,但是在labelfield后面,背景图像没有设置。标签设置在白色普通背景上。我想在背景图像和屏幕底部设置标签

请看下面的图片网址,你会有更好的想法

提前谢谢。请帮帮我


首先,确保您的
LabelField
有一个透明的背景,然后您应该可以看到
主屏幕上设置的包含它的背景

其次,我相信你需要在主屏幕本身和它的嵌入式“主管理器”上设置你的(图像)背景,以便全屏显示相同的背景

比如说,

公共类标签屏幕扩展主屏幕{
公共标签屏幕(){
超级(主屏幕.垂直滚动条|主屏幕.垂直滚动条);
Background bg=BackgroundFactory.createSolidBackground(颜色.绿色);
getMainManager().setBackground(背景);
退避地(bg);
LabelField状态=新LabelField(“你好状态”);
status.setBackground(BackgroundFactory.createSolidTransparentBackground(0,0));
设置状态(状态);
}
}

注意:我上面的例子使用了一个纯色的背景,但是它对图像背景的作用应该是相同的。

我想在Nate的回答中添加这个作为注释,但是我没有足够的空间,并且我无法在注释中格式化代码

我认为内特的解决方案有效,因为他使用的是纯色,没有标题或横幅区域。我不认为它会工作时,使用位图或梯度作为背景,有一个标题或横幅

要理解答案,您需要了解主屏幕中使用的管理器。据我所知,有许多管理者在使用。一个-代表管理器,用于整个屏幕。此外,还有:

  • 位于屏幕顶部的横幅管理器
  • 标题管理器,位于标题管理器下
  • 主要经理,以及
  • 状态管理器,位于 屏幕
  • 代理经理将为所有其他经理提供背景,如果他们是透明的。我的测试表明,横幅字段和状态字段的经理的背景是透明的。标题字段的管理器背景不是黑色的,但更改它似乎有问题

    无论如何,在我的测试中,为了满足要求,您需要做的就是根据需要设置代理管理器的背景,并将MainManager的背景设置为透明

    以下代码的设置方式我认为可以回答这个问题。然而,我也留下了一些注释掉的行,我建议您取消注释并注意效果。这很有趣(至少对像我这样悲伤的人来说)

    最后,我可以推荐这篇文章在主屏幕上阅读一些有趣的内容。

    Background transparentBackground = BackgroundFactory.createSolidTransparentBackground(0, 0);
    Background gradientBackground = BackgroundFactory.createLinearGradientBackground(0X00909090, 0x00808080, 0x00E0E0E0, 0x00E8E8E8);
    getMainManager().setBackground(transparentBackground);
    getDelegate().setBackground(gradientBackground);
    // this is the same as this.setBackground(gradientBackground);
    
    LabelField banner = new LabelField("Hello Banner");
    // banner.setBackground(gradientBackground);
    setBanner(banner);
    
    // LabelField title = new LabelField("Hello Title");
    // title.setBackground(transparentBackground);
    // setTitle(title);
    // title.getManager().setBackground(transparentBackground);
    
    LabelField status = new LabelField("Hello Status");
    // status.setBackground(gradientBackground);
    setStatus(status);
    
    LabelField content = new LabelField("Hello Content", LabelField.FOCUSABLE);
    content.setBackground(transparentBackground);
    add(content);
    
    // Following just added so that focus can be moved off the content LabelField
    add(new NullField());