簡體   English   中英

在android中根據屏幕大小計算圖像大小

[英]Calculate image size based on Screen size in android

我正在嘗試根據屏幕尺寸計算圖像高度和寬度。我從后端獲取 5'x 7' 尺寸的圖像,為了轉換像素乘以 72 我有 360 X 504 尺寸的圖像。 對於 360 X 504 ,我的動態透明矩形區域將顯示為 (1.223') x (1.179'),即 88.05 x 84.88。 現在對於 320 x 480 的屏幕尺寸,我想計算動態矩形區域的高度和寬度。 為此,我使用以下計算:

對於高度:

新高度 = (84.88/504)*480 = 80.83

其中 84.88 - 矩形圖像的高度, 504 - 屏幕尺寸的高度, 480 - 新屏幕尺寸的高度。

寬度相同的方法:

新寬度= (88.05/360)*320 = 78.26

當屏幕大小增加或減少時,這是計算圖像大小的方法嗎? 我需要將我的動態圖像恰好放在主背景圖像的矩形區域(棕色區域)上。

簡而言之,我將獲得360X504 的圖像x、y 位置和高度、寬度.. 現在我需要計算320x480 的 x、y 和高度、寬度

在此處輸入圖片說明

為什么不在 /drawables/ldpi 中預先配置它們?

這樣,當你在你想要的地方給按鈕充氣時,它會自動發生。

您還可以使用:

API3+

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;

API1+(雖然現在在較新的 API 中已棄用)

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth(); 
int height = display.getHeight(); 

要獲取顯示大小,並且由於您現在知道顯示信息,您可以通過名稱( small.jpg 、smaller.jpg )選擇要膨脹的 /drawable 元素,並使用一個小 case/switch 語句來處理奇怪的屏幕尺寸在那個級別的屏幕中。 這將使它一直工作並正確自動調整大小。

這會讓人頭疼,因為系統已經知道 dpi 和屏幕類別(“大”、“x-大”等),系統為您做了艱苦的工作!

如果您可以在布局中預先定義位置,那么您可能可以根據配置創建不同的布局

  • 低密度脂蛋白
  • MDPI
  • 等等

並設置ImageViewscaleType屬性。

稍后每當您從服務器獲取圖像時,只需將其設置為視圖,它將自動管理包括設備 dpi 的縮放。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM