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 黑莓5.0 api图像掩码/背景图像位置_Blackberry_Blackberry Eclipse Plugin_Blackberry Jde - Fatal编程技术网

Blackberry 黑莓5.0 api图像掩码/背景图像位置

Blackberry 黑莓5.0 api图像掩码/背景图像位置,blackberry,blackberry-eclipse-plugin,blackberry-jde,Blackberry,Blackberry Eclipse Plugin,Blackberry Jde,我刚刚开始学习开发黑莓应用程序,但遇到了一些困难。我不确定如何在一个比应用它的字段/管理器大的背景图像周围移动。下面是一张图片来说明我的意思: 到目前为止,我已经尝试将位图添加到AbsolutePositionManager中的位图字段,认为我可以设置absolute manager的大小,并在其中移动位图字段。事实并非如此,manage只需考虑其中内容的大小: 我来自前端web开发人员的背景,所以我要寻找的是行为类似于css中的“background position”属性或某种图像掩码的东西

我刚刚开始学习开发黑莓应用程序,但遇到了一些困难。我不确定如何在一个比应用它的字段/管理器大的背景图像周围移动。下面是一张图片来说明我的意思:

到目前为止,我已经尝试将位图添加到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); } }
与其将其添加为字段,不如将其引用存储在经理中的某个位置,然后自己绘制。以下是一个未经测试的示例:

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()));
}
希望这有帮助