gpt4 book ai didi

java - Android:如何确定屏幕上 ImageView 的尺寸(以英寸为单位)

转载 作者:行者123 更新时间:2023-12-02 01:39:43 26 4
gpt4 key购买 nike

这里有一些背景信息。我正在制作一个 Android 应用程序,它要求 ImageView 以相同的物理尺寸(x 英寸 x y 英寸)显示在屏幕上,无论显示图像的设备如何。我遇到的问题是,默认情况下,ImageView 的大小会根据当前屏幕分辨率和屏幕大小而改变大小。

我需要的是一个函数:

  • 具有我需要调整大小的 ImageView、首选尺寸的 x(以英寸为单位)和首选尺寸的 y(以英寸为单位)的输入
  • 计算 x x y 英寸的像素尺寸(我需要弄清楚如何实现的魔法)
  • 返回计算出的 x 和 y 尺寸(以 dpi/px 为单位)或我可以轻松应用于 ImageView 的值

我对 Android 开发有点陌生,所以我并不是 100% 熟悉不同的坐标系,例如 px 与 dpi,但我正在寻找的只是一种将这些坐标系与物理坐标。

顺便说一句,我只使用英寸,因为我住在美国。但是,我的意思是指在物理空间而不是屏幕空间中测量的任何单位 em>.

感谢您的帮助!

最佳答案

对于这样的任务,您可能需要找到设备的 dpi,然后根据该值调整图像大小。所以像

String inchesToDp(int x, int y){

DisplayMetrics metrics = getResources().getDisplayMetrics();
//int densityDpi = metrics.densityDpi; used for general purpose
int xInch = x * metrics.xdpi; //1 inch in dpi is just the amount of dpi
int yInch = y * metrics.ydpi; //x and ydpi give exact lcd dpi for horizontal and vertical but you could just use x * densityDpi if it doesn't matter

return "x in dp: " + xInch + "y in dp: " + yInch;

}

关于java - Android:如何确定屏幕上 ImageView 的尺寸(以英寸为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54613873/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com