2013-08-01 50 views
0

我想在特定位置上放置一個特定位置的特定大小的位圖。我創建了600×800的位圖,並根據該位置放置一個點,它工作正常注2,在不同的屏幕密度的特定位置放置一個點

但是,當我在三星S4上測試這個,位圖看起來非常小,點也不是特別的位置。

請幫我建議是否有任何方法可以讓我的位圖根據手機的特定分辨率自動縮放,並將點放置在屏幕上的相同位置。

+0

粘貼代碼或至少告訴我們這一點是什麼,顯然這個位置必須計算,但沒有額外的信息,我們可以沒有幫助。 – g00dy

回答

0

我想我可以幫助你。我自己也有同樣的問題。你需要做的是找到這個新屏幕比你的舊屏幕大了多少,首先獲取你的設備的尺寸,並將它們放入widthOfStandardDevice和heightOfStandardDevice中。一旦你知道新屏幕有多大,那麼你的舊屏幕,你會做兩個乘法器來乘以一切。現在可以說將位圖的大小設置爲bitmap_width和bitmap_height。

DisplayMetrics displaymetrics = new DisplayMetrics();

getWindowManager()。getDefaultDisplay()。getMetrics(displaymetrics);

height = displaymetrics.heightPixels;

width = displaymetrics.widthPixels;

float widthMultiplier = width/widthOfStandardDevice;

float heightMultiplier = height/heightOfStandardDevice;

int bitmap_width =(int)(600 * widthMultiplier);

int bitmap_height =(int)(800 * heightMultiplier);

+1

當您設置絕對座標時,您需要按照這種方式對其進行縮放,以便它們在每個屏幕尺寸上都能正確放置。將點的座標與乘法器相乘。 – superuser

+0

Thanx親愛的....它爲我工作... :) –

相關問題