Blackberry 黑莓5.0 api图像掩码/背景图像位置
我刚刚开始学习开发黑莓应用程序,但遇到了一些困难。我不确定如何在一个比应用它的字段/管理器大的背景图像周围移动。下面是一张图片来说明我的意思: 到目前为止,我已经尝试将位图添加到AbsolutePositionManager中的位图字段,认为我可以设置absolute manager的大小,并在其中移动位图字段。事实并非如此,manage只需考虑其中内容的大小: 我来自前端web开发人员的背景,所以我要寻找的是行为类似于css中的“background position”属性或某种图像掩码的东西 提前谢谢 -更新- 这是一个代码示例。我现在有一个自定义大小的管理器,可以显示较大位图字段的块。我只需要一种方法来移动位图字段 package mypackage; import net.rim.device.api.system.Bitmap; import net.rim.device.api.ui.component.BitmapField; import net.rim.device.api.ui.container.AbsoluteFieldManager; public class MyImage extends AbsoluteFieldManager { protected void sublayout(int maxWidth, int maxHeight){ int displayWidth = 326; int displayHeight = 79; super.sublayout(displayWidth, displayHeight); setExtent(displayWidth, displayHeight); } public MyImage(){ Bitmap _image = Bitmap.getBitmapResource("img.jpg"); BitmapField image = new BitmapField(_image); add(image); } }Blackberry 黑莓5.0 api图像掩码/背景图像位置,blackberry,blackberry-eclipse-plugin,blackberry-jde,Blackberry,Blackberry Eclipse Plugin,Blackberry Jde,我刚刚开始学习开发黑莓应用程序,但遇到了一些困难。我不确定如何在一个比应用它的字段/管理器大的背景图像周围移动。下面是一张图片来说明我的意思: 到目前为止,我已经尝试将位图添加到AbsolutePositionManager中的位图字段,认为我可以设置absolute manager的大小,并在其中移动位图字段。事实并非如此,manage只需考虑其中内容的大小: 我来自前端web开发人员的背景,所以我要寻找的是行为类似于css中的“background position”属性或某种图像掩码的东西
与其将其添加为字段,不如将其引用存储在经理中的某个位置,然后自己绘制。以下是一个未经测试的示例:
public class MyManager extends VerticalFieldManager() {
Bitmap _bg;
public MyManager() {
_bg = Bitmap.getBitmapResource("img.jpg");
}
protected void paint(Graphics graphics) {
graphics.drawBitmap(x_offset, y_offset, _bg.getWidth(), _bg.getHeight(), _bg, 0, 0);
super.paint(graphics);
}
}
现在,您可以将x_偏移和y_偏移设置为您想要的任何值,它将被移动。如果需要调整管理器的大小以适应位图,请添加:
protected void sublayout(int width, int height) {
super.sublayout(width, height);
setExtent(Math.min(width, Math.max(getWidth(), _bg.getWidth())), Math.min(height, Math.max(getHeight(), _bg.getHeight()));
}
希望这有帮助