Android 屏幕宽度和高度
在开发 Android 应用程序时,我们经常需要获取设备的屏幕宽度和高度。获取屏幕宽度和高度可以帮助我们实现自适应布局和处理各种屏幕尺寸的设备。
获取屏幕宽度和高度
在 Android 中,我们可以使用 DisplayMetrics 类来获取屏幕的宽度和高度。DisplayMetrics 类提供了一些方法来获取屏幕相关的信息,包括屏幕的宽度、高度和像素密度等。
下面是一个获取屏幕宽度和高度的示例代码:
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int widthPixels = displayMetrics.widthPixels;
int heightPixels = displayMetrics.heightPixels;
float density = displayMetrics.density;
在上面的代码中,我们首先创建了一个 DisplayMetrics 对象,并通过 getWindowManager().getDefaultDisplay().getMetrics(displayMetrics) 方法获取屏幕的宽度、高度和像素密度等信息。然后,我们通过 displayMetrics.widthPixels 和 displayMetrics.heightPixels 分别获取屏幕的宽度和高度。
屏幕像素密度
除了获取屏幕的宽度和高度,我们还可以通过 DisplayMetrics 类获取屏幕的像素密度。像素密度用于确定屏幕上的一英寸所包含的像素数。通常,像素密度会影响到图标、字体和布局在屏幕上的显示效果。
下面是一个获取屏幕像素密度的示例代码:
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
float density = displayMetrics.density;
在上面的代码中,我们通过 displayMetrics.density 获取了屏幕的像素密度。
自适应布局
获取屏幕的宽度和高度可以帮助我们实现自适应布局。通过获取屏幕的宽度,我们可以根据不同的屏幕尺寸调整布局的大小和位置,以适应不同的设备。
下面是一个根据屏幕宽度自适应调整 TextView 大小的示例代码:
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int widthPixels = displayMetrics.widthPixels;
TextView textView = findViewById(R.id.text_view);
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, widthPixels / 20);
在上面的代码中,我们首先获取了屏幕的宽度 widthPixels,然后根据屏幕的宽度调整了 TextView 的字体大小。
总结
通过本文,我们了解了如何获取 Android 设备的屏幕宽度和高度。我们可以使用 DisplayMetrics 类来获取屏幕相关的信息,包括屏幕的宽度、高度和像素密度等。获取屏幕的宽度和高度可以帮助我们实现自适应布局和处理各种屏幕尺寸的设备。
参考资料
- [Android Developers - DisplayMetrics](
- [Android Developers - Supporting Multiple Screens](
















