0
我正在製作一張放置在原始目錄中的gif圖片的動態壁紙,無論我使用何種設備,我怎樣才能將gif放在屏幕中央?我明白爲什麼我的代碼現在將它放在左側,因爲display.getWidth-display.getWidth = 0,並且與高度相同,因此(0,0)位於左上角。但是什麼是中心?我似乎無法理解我的生活。這個類正在擴展WallpaperService。如何在動態壁紙中居中放映GIF
@Override
public void onSurfaceChanged(SurfaceHolder holder, int format, int width, int height) {
super.onSurfaceChanged(holder, format, width, height);
mScaleX = width/(1.5f*mNyan.width());
mScaleY = height/(1.5f*mNyan.height());
Display display = ((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
mWidth = (display.getWidth()-display.getWidth());
mHeight = (display.getHeight()-display.getHeight());
nyan();
}
,這是我畫的畫布結束...
void nyanNyan(Canvas canvas) {
canvas.save();
canvas.scale(mScaleX, mScaleY);
mNyan.setTime(mWhen);
mNyan.draw(canvas, mWidth,mHeight);
canvas.restore();
}
誰能幫助!?!我被困住了,我無法移過去。我也試過了,沒有任何的運氣:
void nyanNyan(Canvas canvas) {
canvas.save();
canvas.scale(mScaleX, mScaleY);
mNyan.setTime(mWhen);
mNyan.draw(canvas, mCenterX - mNyan.width() , mCenterY - mNyan.height());
}