Android 获得屏幕高度宽度的实现方法
介绍
在Android开发中,有时候我们需要获取设备屏幕的高度和宽度,以便进行屏幕适配或者其他一些操作。本文将介绍如何在Android中获取屏幕的高度和宽度。
整体流程
下面的表格展示了获取屏幕高度和宽度的整体流程。
步骤 | 操作 |
---|---|
1 | 获取屏幕的DisplayMetrics对象 |
2 | 通过DisplayMetrics对象获取屏幕的高度和宽度 |
接下来,我们将逐步介绍每一步需要做什么,并给出相应的代码示例。
获取屏幕的DisplayMetrics对象
首先,我们需要获取屏幕的DisplayMetrics对象。DisplayMetrics是Android提供的一个记录设备屏幕信息的类,我们可以从中获取屏幕的高度和宽度。
// 获取屏幕的DisplayMetrics对象
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
上述代码中,我们通过getWindowManager().getDefaultDisplay().getMetrics(displayMetrics)
的方式获取到了屏幕的DisplayMetrics对象。其中,getWindowManager()
用于获取WindowManager对象,getDefaultDisplay()
用于获取默认的Display对象,getMetrics(displayMetrics)
用于将屏幕信息存储到DisplayMetrics对象中。
获取屏幕的高度和宽度
获取到DisplayMetrics对象后,我们可以从中获取屏幕的高度和宽度。
// 获取屏幕的高度和宽度
int screenHeight = displayMetrics.heightPixels;
int screenWidth = displayMetrics.widthPixels;
上述代码中,我们通过displayMetrics.heightPixels
获取到屏幕的高度,displayMetrics.widthPixels
获取到屏幕的宽度。
完整示例代码
下面是一个完整的示例代码,演示如何获得屏幕高度和宽度。
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.DisplayMetrics;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取屏幕的DisplayMetrics对象
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
// 获取屏幕的高度和宽度
int screenHeight = displayMetrics.heightPixels;
int screenWidth = displayMetrics.widthPixels;
// 输出屏幕的高度和宽度
System.out.println("屏幕高度:" + screenHeight + "px");
System.out.println("屏幕宽度:" + screenWidth + "px");
}
}
类图
下面是一个简单的类图,展示了MainActivity类和DisplayMetrics类之间的关系。
classDiagram
MainActivity --|> AppCompatActivity
DisplayMetrics --|> Object
总结
通过以上步骤,我们可以轻松地在Android中获得屏幕的高度和宽度。在实际开发中,我们可以根据这些信息进行屏幕适配、计算控件的大小和位置等操作。希望本文能帮助你理解并掌握如何获取屏幕的高度和宽度。