I draw a picture by using BitmapFactory...The Content is The picture will listen the accelerometer.. and move according to that...i write the code and it working perfectly...but the image is going out of the screen...the picture should be in the screen and visible to the user at all times....
Please tell me how to solve this...
mWidth = metrics.widthPixels;
mHeight = metrics.heightPixels;
float mRange = s.getMaximumRange();
//
// Convert MetersToPixels
// metersToPixels = mWidth / .0254f
//
float startX = mWidth / (0.0254f * mRange);
float startY = mHeight / (0.0254f * mRange);
Canvas canvas = ourHolder.lockCanvas();
canvas.drawColor(Color.WHITE);
float mPosY = sensorY * startY;
float mPosX = sensorX * startX;
if (mPosX > mHorizontalBound) {
mPosX = mHorizontalBound;
}
if (mPosY > mVerticalBound) {
mPosY = mVerticalBound;
}
canvas.drawBitmap(betty, mPosY, mPosX, null);
ourHolder.unlockCanvasAndPost(canvas);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
// TODO Auto-generated method stub
super.onSizeChanged(w, h, oldw, oldh);
mXOrigin = (w - betty.getWidth()) * 0.5f;
mYOrigin = (h - betty.getHeight()) * 0.5f;
mHorizontalBound = ((w / mMetersToPixelsX) * 0.5f);
mVerticalBound = ((h / mMetersToPixelsY) * 0.5f);
}
}
The image is going out side of the screen..But it should not go like this...