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应用程序不起作用_Blackberry_Blackberry Simulator - Fatal编程技术网

将背景图像添加到blackberry应用程序不起作用

将背景图像添加到blackberry应用程序不起作用,blackberry,blackberry-simulator,Blackberry,Blackberry Simulator,我是blackberry开发的新手,希望向示例blackberry应用程序添加一个图像。我尝试了多个教程,但图像没有显示在背景中 谁能告诉我出了什么问题吗 /** *此类扩展了UiApplication类,提供了图形用户界面 *接口。 */ 公共类应用程序{ 私有位图背景位图; 私有位图字段位图; 公共静态void main(字符串[]args){ 多样化=新的多样化(); 多样性。enterEventDispatcher(); } /** *创建新的MyApp对象 */ 公共服务{ //背景图

我是blackberry开发的新手,希望向示例blackberry应用程序添加一个图像。我尝试了多个教程,但图像没有显示在背景中

谁能告诉我出了什么问题吗

/**
*此类扩展了UiApplication类,提供了图形用户界面
*接口。
*/
公共类应用程序{
私有位图背景位图;
私有位图字段位图;
公共静态void main(字符串[]args){
多样化=新的多样化();
多样性。enterEventDispatcher();
}
/**
*创建新的MyApp对象
*/
公共服务{
//背景图像。
backgroundBitmap=Bitmap.getBitmapResource(“background.png”);
MainScreen MainScreen=新的MainScreen();
HorizontalFieldManager HorizontalFieldManager=新的HorizontalFieldManager(HorizontalFieldManager.USE_ALL_WIDTH | HorizontalFieldManager.USE_ALL_HEIGHT){
//替代绘制方法以绘制背景图像。
公共空间绘制(图形)
{
//绘制背景图像,然后调用paint。
graphics.drawBitmap(0,0,240,240,backgroundBitmap,0,0);
超级油漆(图形);
}            
};
//LabelField将通过透明图像显示。
LabelField LabelField=新LabelField(“这是一个标签”);
//带有透明图像的位图字段。
//背景图像将通过透明位图字段图像显示。
BitmapField BitmapField=新的BitmapField(Bitmap.getBitmapResource(“field.png”);
//将管理器添加到屏幕。
主屏幕。添加(horizontalFieldManager);
//将字段添加到管理器。
horizontalFieldManager.add(labelField);
horizontalFieldManager.add(位图字段);
//将屏幕推到UI堆栈上进行渲染。
推屏(新的DiverseScreen());
}
}
diversesescreen
类是

包装多样化;
导入net.rim.device.api.ui.container.main屏幕;
/**
*扩展MainScreen类的类,该类提供默认标准
*黑莓GUI应用程序的行为。
*/
公开期末班潜水员屏幕扩展主屏幕
{
/**
*创建一个新的MyScreen对象
*/
公共屏幕()
{        
//设置屏幕显示的标题
片名(“多样化”);
}
}

问题在于,您已为一个屏幕设置了背景图像,但从未显示该屏幕。然后,您显示了一个不同的屏幕,没有设置背景图像

首先,它有助于理解BlackBerry UI框架。它允许您在屏幕上创建对象的层次结构。在顶层,您有一个
屏幕
(或
屏幕
的子类),然后在
屏幕
内有
管理器
,其中有
字段
。但是,每个级别都必须添加到某种容器中,最后,顶级
屏幕必须显示类似的内容

在你的情况下,你应该改变这一行

    MainScreen mainScreen = new MainScreen();
    pushScreen(new DiverseScreen());

然后换这条线

    MainScreen mainScreen = new MainScreen();
    pushScreen(new DiverseScreen());


因为
mainScreen
是您添加水平字段管理器以绘制背景图像的实例。

请查看此链接:您会更好地理解。谢谢,您帮了我很多忙。