Android获取屏幕大小

在Android开发中,我们经常需要获取屏幕的大小来适应不同的设备。屏幕大小包括屏幕的宽度和高度,以像素为单位来衡量。在本文中,我们将介绍如何使用代码获取Android设备屏幕的大小,并提供相应的代码示例。

获取屏幕尺寸

要获取Android设备的屏幕尺寸,我们首先需要获取屏幕的DisplayMetrics对象。DisplayMetrics包含了关于屏幕的一些基本信息,比如屏幕的宽度、高度、像素密度等。

以下是一段Java代码示例,演示了如何通过DisplayMetrics获取屏幕尺寸:

import android.content.Context;
import android.util.DisplayMetrics;
import android.view.WindowManager;

public class ScreenUtils {

    public static int getScreenWidth(Context context) {
        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
        DisplayMetrics metrics = new DisplayMetrics();
        wm.getDefaultDisplay().getMetrics(metrics);
        return metrics.widthPixels;
    }

    public static int getScreenHeight(Context context) {
        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
        DisplayMetrics metrics = new DisplayMetrics();
        wm.getDefaultDisplay().getMetrics(metrics);
        return metrics.heightPixels;
    }
}

上述代码中,我们通过WindowManager获取了屏幕的默认显示对象,并通过getMetrics()方法获取了屏幕的基本信息。然后,我们可以使用metrics.widthPixelsmetrics.heightPixels分别获取屏幕的宽度和高度。

示例应用

为了更好地理解如何获取屏幕尺寸,我们可以创建一个简单的示例应用来演示。以下是一个简单的Android应用,当用户点击按钮时,会显示屏幕的宽度和高度:

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    private TextView mScreenWidthTextView;
    private TextView mScreenHeightTextView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mScreenWidthTextView = findViewById(R.id.screen_width);
        mScreenHeightTextView = findViewById(R.id.screen_height);

        Button button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int screenWidth = ScreenUtils.getScreenWidth(MainActivity.this);
                int screenHeight = ScreenUtils.getScreenHeight(MainActivity.this);

                mScreenWidthTextView.setText("屏幕宽度:" + screenWidth);
                mScreenHeightTextView.setText("屏幕高度:" + screenHeight);
            }
        });
    }
}

上述代码中,我们在MainActivity中找到了两个TextView,用于显示屏幕的宽度和高度。然后,我们在按钮的点击事件中调用了ScreenUtils中的方法来获取屏幕的尺寸,并将其显示在对应的TextView上。

总结

在本文中,我们学习了如何使用代码获取Android设备屏幕的大小。通过使用DisplayMetrics对象,我们可以轻松地获取屏幕的宽度和高度,以适应不同的设备。希望本文对您有所帮助,并能够在您的Android开发中起到指导作用。

参考资料:

  • [Android Developers - DisplayMetrics](
  • [Android Developers - WindowManager](

状态图如下所示:

stateDiagram
    [*] --> 获取屏幕尺寸
    获取屏幕尺寸 --> 获取DisplayMetrics对象
    获取DisplayMetrics对象 --> 获取屏幕宽度和高度
    获取屏幕宽度和高度 --> 显示屏幕尺寸
    显示屏幕尺寸 --> [*]

以上就是关于如何在Android中获取屏幕大小的科普文章。希望本文对您有所帮助!