屏幕适配UI设计图解决方案 原创

BLUESKYHOST
发布于 2021-3-4 11:33
浏览
1收藏

先上图

这仨赏金猎人App解决方案 赏金猎人开发日志地址https://harmonyos.51cto.com/posts/3203,我想问问谁有办法替换系统默认的尺寸计算方案求大佬告知

这个是实现渲染

屏幕适配UI设计图解决方案-鸿蒙开发者社区

这个是UI设计图

屏幕适配UI设计图解决方案-鸿蒙开发者社区

看看实际效果

  • 平板
  • 屏幕适配UI设计图解决方案-鸿蒙开发者社区
  • 移动端

屏幕适配UI设计图解决方案-鸿蒙开发者社区

使用方法

RpxUtil.rpx(23,this.context) 直接按照UI尺寸调用即可

源码

package com.example.shangjinlieren.utils;

import ohos.agp.window.service.Display;
import ohos.agp.window.service.DisplayManager;
import ohos.app.Context;

public  class  RpxUtil {
  private  static float WIDTH=750;
  private  static float HEIGHT=1334;
    public static  float rpx(int value, Context context){

       float wRatioValue=  (getDisplayWidthInPx(context)/WIDTH)*value;
        float hRatioValue=  ( getDisplayHeightInPx(context)/HEIGHT)*value;
        float h =0;
        if (value<=750){
            h= wRatioValue;
        }else if (value>750){
            h=hRatioValue;
        }
        return   h;
    }
    /**
     * 获取屏幕宽度
     *
     * @return 屏幕宽度
     */
    public static int getDisplayWidthInPx( Context context) {
        Display display = DisplayManager.getInstance().getDefaultDisplay(context).get();
        return display.getAttributes().width;
    }
    /**
     * 获取屏幕高度,不包含状态栏的高度
     * @return 屏幕高度,不包含状态栏的高度
     */
    public static int getDisplayHeightInPx( Context context) {
        Display display = DisplayManager.getInstance().getDefaultDisplay(context).get();
        return display.getAttributes().height;
    }

}

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2021-3-11 21:33:11修改
8
收藏 1
回复
举报
3条回复
按时间正序
/
按时间倒序
红叶亦知秋
红叶亦知秋

可以的,一直关注楼主

回复
2021-3-4 14:46:54
qq5d575d51f2aa0
qq5d575d51f2aa0

请问xml中怎么调用这个工具类

回复
2022-1-21 21:24:02
BLUESKYHOST
BLUESKYHOST

实在抱歉这么晚才回复大家 介于工作原因 有一段时间没处理这个开发方向 跟普通的调用类一样 根据包名 直接调用 

回复
2022-8-9 08:58:37
回复
    相关推荐