如何在BlackBerry中为LabelField设置透明背景

时间:2012-05-10 20:03:37

标签: blackberry label transparent

我正在尝试创建一个没有背景的LabelField,作为一个透明的。我有一个带有位图的背景设置到我的屏幕,我希望我的LabelField透明。

我有以下代码,但它不起作用。

BitmapField info;
EncodedImage logoBitmap = EncodedImage.getEncodedImageResource("userInfo.png");
info = new BitmapField(null, Field.FIELD_LEFT |Field.FIELD_BOTTOM);
info.setImage(logoBitmap);
AbsoluteFieldManager superMainContainer;
superMainContainer.add(info,0,200);
LabelField  nameLabel = new LabelField("Name:");
nameLabel.setBackground(BackgroundFactory.createSolidTransparentBackground(0, 0));
superMainContainer.add(nameLabel, 10, 210);

1 个答案:

答案 0 :(得分:1)


[更新]

以下代码段正在我的模拟器上运行。下面的代码与您的代码之间的区别只是一些初始化代码。

Bitmap bm = Bitmap.getBitmapResource("image.png");
BitmapField info = new BitmapField(bm, Field.FIELD_LEFT 
        | Field.FIELD_BOTTOM);

LabelField  lbl = new LabelField("LabelField Text");
lbl.setBackground(BackgroundFactory.createSolidTransparentBackground(0, 0));

AbsoluteFieldManager superMainContainer = new AbsoluteFieldManager();
superMainContainer.add(info, 0, 200);
superMainContainer.add(lbl, 10, 210);

MainScreen screen = new MainScreen();
screen.add(superMainContainer);

UiApplication.getUiApplication().pushScreen(screen);


[旧]

LabelField  lbl;
lbl.setBackground(BackgroundFactory.createSolidTransparentBackground(0, 0));

在应用LabelField之前,您未初始化Background - nameLabel

您无需设置任何Background实例来获取透明背景,默认LabelField将适用于此情况。