2

在 android 中有许多不同类型的屏幕分辨率可用。如何使用java代码调整屏幕分辨率?

4

3 回答 3

1

无法以编程方式更改屏幕分辨率。AFAIK,您需要进行硬件级别的修改才能更改它。

相反,您必须以一种能够很好地跨显示器缩放的方式编写您的应用程序。使用不同尺寸和密度的多个图像,使用 dp 单位而不是 px 单位。为不同的屏幕尺寸制作布局。所有这些以及更多内容都在此处的在线文档中进行了解释。

于 2012-07-26T10:42:52.677 回答
1

如果您询问如何使您的应用程序适应设备分辨率,您应该使用下面的代码阅读屏幕分辨率,并让您的应用程序按照您的意愿填充空间。

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

由于有 1000 多种不同的 Android 设备,您无法使用一行代码自动为您执行此操作。

如果您正在谈论像在 PC 中一样更改屏幕分辨率。LCD 屏幕具有无法更改的原始分辨率。但是,在 PC 中,显示器背后的驱动程序或硬件会通过将连续像素视为单个像素来更改分辨率。高分辨率显示器中添加了此选项,只是为了保持与旧视频卡的兼容性。在手机中,我们不需要这样做,所以没有这样的选择。当 LCD 显示器取代 CRT 时,他们需要在不同的分辨率下工作,例如 CRT 可以在多个原始分辨率下工作。

于 2012-07-26T10:47:57.453 回答
-2
public int AR(int input)
{       
    final float scale = getResources().getDisplayMetrics().density;        
    return (int) (input * scale + 0.5f);
}

其中,输入是您要使用的值。例子:

ImageView TitleImage = new ImageView(this);
TitleImage.setPadding(AR(10), AR(5), AR(2), AR(3));

现在图像填充适合各种分辨率。

于 2014-04-08T10:08:47.363 回答