簡體   English   中英

Android:以編程方式根據屏幕尺寸設置位圖的寬度和高度

[英]Android : set width and height of bitmap base on screen size programmatically

假設我有尺寸為165x15.7 的位圖 A,它在320x240屏幕尺寸上正確顯示,密度為0.75 如果我想在不同屏幕尺寸(如480x3201.0密度)上顯示位圖圖像,如何在不同屏幕尺寸上動態設置位圖寬度和高度? 我想以編程方式進行,我不想使用 xml/多個布局/多個維度。 任何幫助,將不勝感激。 謝謝你。

這是示例

320x240 屏幕尺寸

480x320 屏幕尺寸

在此處輸入圖片說明

正如您在上面的屏幕截圖中看到的,示例徽標在 480x320 屏幕尺寸上看起來更小

您可以使用以下代碼獲取設備屏幕的縮放因子以縮放圖像大小:

getResources().getDisplayMetrics().density;

這將為您提供:

ldpi = 0.75

mdpi = 1.0

hdpi = 1.5

xhdpi = 2.0

xxhdpi = 3.0

xxxhdpi = 4.0

來源: https : //stackoverflow.com/a/10948031/6217595

您可以使用ImageView在任何屏幕尺寸下顯示位圖。 只需在imageView中設置位圖並將imageView的scaleType設置為fitCenter。

imageView.setScaleType (ImageView.ScaleType.FIT_CENTER);

如果要更改位圖的尺寸,請創建縮放的位圖。

Bitmap resizedBitmap = Bitmap.createScaledBitmap(myBitmap, (int)(myBitmap.getWidth()*1.2), (int)(myBitmap.getHeight()*1.2), true);

暫無
暫無

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

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