簡體   English   中英

設置ImageView將Drawable大小除以2

[英]Setting ImageView divides Drawable size by two

我已經創建了一個裝扮游戲應用程序。 用戶完成自己的角色裝扮后,可以將其保存到應用程序庫中。

我在畫布上使用canvas和drawbitmap生成最終圖像,然后將其顯示在應用程序的庫中。 xhdpi圖像尺寸應為600x900像素。 當此圖像顯示在常規android畫廊中時,顯示為600x900,並且(從信息中獲取)看起來足夠大。 但是,當我在應用程序中顯示它時,盡管ImageView設置為wrap_content,但它看起來要小得多。 此外,在進行修飾時,它也設置為wrap_content,看起來比應用程序庫中的大。

我的理論是,因為我嘗試使用.setImageDrawable(Drawable.createFromPath(path));進行編程設置。 由於屏幕是xhdpi,因此它將尺寸除以2。

我能做什么?

您可能在不是xhdpi ,而是hdpimdpi的設備上進行測試。

當您在密度存儲桶中提供圖形時,Android將負責調整該圖像的大小,以使其在所有設備上保持相同的物理尺寸(即,屏幕上的厘米大小)。

如果要使用原始可繪制對象,則可以在res/drawable-nodpi文件夾中提供圖形。

如果您想保留密度桶,但圖形太小,請在res/drawable-mdpires/drawable-hdpires/drawable-xhdpi提供正確的尺寸。

我不相信有任何方法可以通過Drawable.createFromPath()防止這種行為。 您可以使用BitmapFactory直接加載位圖,並使用setImageBitmap()將其提供到ImageView中:

File f = new File(path);
Bitmap b = BitmapFactory.decodeFile(f.getAbsolutePath());
imageView.setImageBitmap(b);

暫無
暫無

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

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