2014-12-07 54 views
0

My screen如何把位圖SurfaceView中間與空間之間

如果非常仔細地看到該位圖是不是在屏幕的中間,我不知道該怎麼做把他們看在它們之間有一定空間的各種屏幕中間,需要根據屏幕寬度進行交換。

我的代碼:

int SPACEBETWEEN = 80; 

for(int i = -1; i < 2; i++) { 

    canvas.drawBitmap(bmp,SPACEBETWEEN * i + canvas.getWidth()/2, getHeight()/2, null); 
} 

我的寬屏幕爲480

+0

使用'RelativeLayout'?... – Emmanuel 2014-12-07 14:52:38

+0

我通常使用**字符串**。我有一個字符串數組(例如「\ u25cf \ u25cb \ u25cb」,「\ u25cb \ u25cf \ u25cf」,「\ u25cb \ u25cb \ u25cf」)並相應地更改字符串。作爲'\ u25cf' a **填充**圓圈和'\ u25cb'一個**空**一個 – 2014-12-07 14:54:30

+0

是的,但我也使用自定義表面視圖。 – 2014-12-07 14:54:39

回答

3

你不是負面的位圖本身的寬度的一半抵消。你需要在公式中的某個地方需要類似- bmp.getWidth()/2(同上)。

+0

你不會相信,但bmp.getWidth()/ 2等於screen.getWidth()/ 2 – 2014-12-07 14:59:24

+0

不知道你是如何創建你的位圖 - 隨時向我們展示 - 但你可以解碼它們從具有確定分辨率的文件。如果你從一個單獨的畫布創建位圖,這個答案(http://stackoverflow.com/questions/4013725/converting-a-canvas-into-bitmap-image-in-android)告訴你如何設置分辨率的結果位圖。 – 2014-12-07 15:06:44

+0

我得到這個bmp: bmp = BitmapFactory.decodeResource(getResources(),R.drawable.small_empty_ball); – 2014-12-07 15:09:33