2013-02-05 62 views
0

我想問爲什麼背景質量低,即使我有我的選項設置? 我的代碼:Android:劣質背景

class GameView extends SurfaceView implements SurfaceHolder.Callback { 

GameThread thread; 

BitmapFactory.Options options = new BitmapFactory.Options(); 
int screenW; 
int screenH; 
int bgrW; 
int bgrH; 
Bitmap bgr; 

public GameView(Context context, AttributeSet attrs) { 
super(context); 

    options.inPreferredConfig = Bitmap.Config.ARGB_8888; 
    options.inSampleSize = 1; 
    options.inScaled = false; 
    options.inDither = false; 
    bgr = BitmapFactory.decodeResource(getResources(), R.drawable.gamebg, options); 
    getHolder().addCallback(this); 
    setFocusable(true); 
    } 

@Override 
public void onSizeChanged (int w, int h, int oldw, int oldh) { 
    super.onSizeChanged(w, h, oldw, oldh); 
    screenW = w; 
    screenH = h; 
    bgr = Bitmap.createScaledBitmap(bgr, w, h, true); 
    bgrW = bgr.getWidth(); 
    bgrH = bgr.getHeight(); 
} 

@Override 
public void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 
    canvas.drawBitmap(bgr, 0, 0, null); 
} 

由於在這個論壇上面的代碼中找到一些答案應該採取行動正確。我想知道如果一些聲明可能會從onDraw()或onSizeChanged()區域中丟失。

+0

能你添加一個截圖? – NaviRamyle

+0

你在哪裏執行上面的代碼?在模擬器或設備? – user1844638

+0

嘗試從GauravKumawat下面的解決方案,它爲我工作... – 2013-02-05 08:53:58

回答

0

嘗試使用九補丁圖像,而不是簡單的圖片: 轉到

android-sdk\android-sdk-windows\tools\draw9patch 

,並選擇您想要的圖像,並將其轉換成九個補丁 現在他們看起來很好

+0

謝謝,但它接縫,在我的情況下,draw9patch不工作,我得到了和以前一樣的效果。 – NightKn8

+0

此外,我在遊戲菜單中得到了類似的圖像。在那裏,我通過我的XML文件調用它,它的質量就好像它在PC上一樣。 – NightKn8

+0

你雙擊了draw9patch? – GOLDEE