1
大家好,我是黑人新手。我想使用低級圖形來繪製位圖。在此bitmapfield我需要採取三項行動爲黑莓低級圖形
- 挑bitmapfield,
- 拖動它在屏幕在任何方向和
- 在屏幕上的任意一點終於鬆開。
我該怎麼做。 如果Canvas可以成爲一個解決方案......任何人都可以幫助我解決一些如何使用Canvas的示例代碼。
也有任何其他的方法來製作一個可拖動的位圖字段.. ??
請幫
大家好,我是黑人新手。我想使用低級圖形來繪製位圖。在此bitmapfield我需要採取三項行動爲黑莓低級圖形
我該怎麼做。 如果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);
}
}
我已經嘗試了本way..its使得整個屏幕爲可拖動..我想拖tmage只有在不移動屏幕 – Swati 2012-02-01 12:50:27
其實屏幕不動過,如果你有,你可以控制一切觸摸事件。我不確定你嘗試過什麼,你可以粘貼你的代碼,以及你試過的問題。 – Rupak 2012-02-01 14:10:42