2012-02-01 7 views
1

こんにちは皆私はblackebrryを初めて使っています。私は、ビットマップフィールドを描画するために低レベルのグラフィックスを使用したい。このbitmapfieldに私は3 ブラックベリーの低レベルグラフィックス

    1. アクション(Action)を取る必要があり
    2. ドラッグば任意の方向に画面にして
    3. 最終的に画面上の任意の時点でそれを解放、bitmapfieldを選びます。

    どうすればいいですか? 'キャンバス'が解決策になることができます...どのように 'キャンバス'を使用するためのいくつかのサンプルコードで私を助けることができます。

    また、ドラッグ可能なビットマップフィールドを作成する他の方法もあります。

  • 答えて

    0

    は、まず、あなたがビットマップを作成し、カスタム、それに描画を行うには、それから、グラフィックスオブジェクトを取得することができます助けてください。

    Bitmap myBitmap = new Bitmap(widht, height); 
    Graphics graphics = Graphics.create(myBitmap); 
    
    // now you can draw anything on graphics supported by API 
    

    [編集]

    Iドラッグのコードスニペットを画面上に画像を追加しました。あなたの側で動作する場合は、このコードをチェックすることができます。

    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試してみました..私は実際に画面が今まで動かないだけで、画面 – Swati

    +0

    を移動せずにtmageをドラッグしたいとあなたが持っている場合、あなたはすべてを制御することができますタッチイベント。私はあなたが何を試したか分からず、あなたのコードを貼り付けることができます。 – Rupak

    関連する問題