android 获取屏幕宽高比
时间: 2024-09-25 09:01:47 浏览: 31
在Android中,获取屏幕宽度和高度的比例,也就是屏幕宽高比,通常使用DisplayMetrics类来完成。你可以通过以下步骤获取:
1. 获取Context对象,这可以是一个Activity、Fragment或者其他需要访问系统资源的地方。
```java
Context context = YourActivity.this; // 如果是在Activity中
```
2. 创建一个DisplayMetrics实例并从context中获取Display信息:
```java
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
```
3. 计算屏幕宽高比,宽高比通常记作宽度像素数除以高度像素数,然后转换为常见的小数形式,例如16:9就是1.77778:
```java
float density = metrics.density;
int widthPixels = metrics.widthPixels;
int heightPixels = metrics.heightPixels;
float screenAspectRatio = (float) widthPixels / heightPixels;
```
现在`screenAspectRatio`就存储了屏幕的宽高比。注意,这里的比例可能会根据设备的密度缩放(density),如果你想要得到原始未缩放的比例,可以将宽度和高度分别除以各自对应的density。
阅读全文