【问题标题】:How to get the screen width and height of the device in HarmonyOS?HarmonyOS中如何获取设备的屏幕宽度和高度?
【发布时间】:2021-07-27 11:13:41
【问题描述】:

在 HarmonyOS 中,我正在尝试创建一个 commonDialog 并向其添加屏幕大小的 stackLayout。此布局可帮助我将组件(例如,图像)移动到屏幕上的任何位置。为此我需要整个屏幕的宽度和高度,我如何获取这些参数?

【问题讨论】:

    标签: java android huawei-mobile-services huawei-developers harmonyos


    【解决方案1】:

    欢迎加入社区!

    如果您正在寻找作为 int 的屏幕宽度和高度返回类型值,我正在为您提供我使用的解决方案。我们使用 HarmonyOS API 计算屏幕宽度和高度,如下所示:

    import ohos.agp.utils.Point;
    import ohos.agp.window.service.Display;
    import ohos.agp.window.service.DisplayManager;
    import ohos.app.Context;
    import java.util.Optional;
    
    public class Utils {
    
      private Utils() { }
    
        public static int getScreenWidth(Context context) {
            DisplayManager displayManager = DisplayManager.getInstance();
            Optional<Display> optDisplay = displayManager.getDefaultDisplay(context);
            Point point = new Point(0, 0);
            if (optDisplay.isPresent()) {
                Display display = optDisplay.get();
                display.getSize(point);
            }
            return (int) point.position[0];
        }
    
        public static int getScreenHeight(Context context) {
            DisplayManager displayManager = DisplayManager.getInstance();
            Optional<Display> optDisplay = displayManager.getDefaultDisplay(context);
            Point point = new Point(0, 0);
            if (optDisplay.isPresent()) {
                Display display = optDisplay.get();
                display.getSize(point);
            }
            return (int) point.position[1];
        } 
    }
    

    【讨论】:

      猜你喜欢
      • 2012-11-07
      • 2012-12-17
      • 2011-09-25
      • 1970-01-01
      • 2010-11-25
      • 2011-08-06
      • 1970-01-01
      • 2014-07-27
      • 1970-01-01
      相关资源
      最近更新 更多