黑莓低级图形

问题描述:

大家好,我是黑人新手。我想使用低级图形来绘制位图。在此bitmapfield我需要采取三项行动为黑莓低级图形

  1. 挑bitmapfield,
  2. 拖动它在屏幕在任何方向和
  3. 在屏幕上的任意一点终于松开。

我该怎么做。 如果Canvas可以成为一个解决方案......任何人都可以帮助我解决一些如何使用Canvas的示例代码。

也有任何其他的方法来制作一个可拖动的位图字段.. ??

请帮

首先,你可以创建一个位图,并得到一个图形从它反对做定制版上绘制。

Bitmap myBitmap = new Bitmap(widht, height); 
Graphics graphics = Graphics.create(myBitmap); 

// now you can draw anything on graphics supported by API 

将帖子

我已经在屏幕上增加了一个代码段用于拖动的图像。你可以检查这个代码,如果它在你身边。

class MyScreen extends MainScreen { 
    private final Bitmap myBm; 
    private int wBm; 
    private int hBm; 
    private int xBm; 
    private int yBm; 
    private boolean dragStarted; 

    public MyScreen() { 
     myBm = Bitmap.getBitmapResource("img/myBitmap.png"); 
     if (myBm != null) { 
      wBm = myBm.getWidth(); 
      hBm = myBm.getHeight(); 
     } 
    } 

    protected void paint(Graphics graphics) { 
     // need to adjust z-index of the items added on screen. 
     super.paint(graphics); 
     if (myBm != null) { 
      graphics.drawBitmap(xBm, yBm, wBm, hBm, myBm, 0, 0); 
     } 
    } 

    protected boolean touchEvent(TouchEvent event) { 
     int x = event.getX(1); 
     int y = event.getY(1); 
     int eventCode = event.getEvent(); 

     if (dragStarted == false & (eventCode == TouchEvent.DOWN)) { 
      if (isDragActivated(x, y)) { 
       // need to adjust offset. 
       dragStarted = true; 
       updateBitmapLocation(x, y); 
      } 
     } 

     if (eventCode == TouchEvent.MOVE && dragStarted) { 
      updateBitmapLocation(x, y); 
     } 

     if (eventCode == TouchEvent.UP && dragStarted) { 
      dragStarted = false; 
      updateBitmapLocation(x, y); 
     } 

     // need to decide what to return 
     return true; 
    } 

    private void updateBitmapLocation(int xTouch, int yTouch) { 
     if (xTouch != xBm && yTouch != yBm) { 
      xBm = xTouch; 
      yBm = yTouch; 
      invalidate(); 
     } 
    } 

    private boolean isDragActivated(int x, int y) { 
     return (x >= xBm && x <= xBm + wBm && y >= yBm && y <= yBm + hBm); 
    } 
} 
+1

我已经尝试了本way..its使得整个屏幕为可拖动..我想拖tmage只有在不移动屏幕 – Swati 2012-02-01 12:50:27

+0

其实屏幕不动过,如果你有,你可以控制一切触摸事件。我不确定你尝试过什么,你可以粘贴你的代码,以及你试过的问题。 – Rupak 2012-02-01 14:10:42