首页 > 其他分享 >关于软件开发中UI相关的问题

关于软件开发中UI相关的问题

时间:2024-10-23 10:11:00浏览次数:7  
标签:显示器 软件开发 分辨率 object value UI 关于 尺寸 public

因为个人的使用习惯,我现在经常是笔记本+显示器的使用方式。然后家里用的是27寸的4K显示器,显示器的缩放比例一般是设置成150%。
使用的过程中发现很多的软件,在UI显示上都会出现一些问题。
主要是两点:
1、多屏/横竖屏。一些软件在有多个显示屏,特别是几个显示屏的分辨率不一样,或者有横竖屏的时候,显示和操作层面都有一些问题,包括一些热门的商业软件。
2、DPI。现在高分辨率的显示器很多,很多显示器都设置了125%和150%缩放设置。遇到这种情况,很多应用的显示和字体都有问题。

多屏显示,取尺寸和坐标的时候,然后先取到应用窗体所在的当前屏幕。包括处理一些屏幕尺寸相关的操作,都需要取到当前屏幕。如果去的不对,就会导致一些操作和显示异常。

DPI的问题,其实比较麻烦,因为我们应用开发的过程中,一些尺寸相关的东西,免不了会使用一些具体数值的设计。这种固定数值的界面设计,遇到DPI变化了,或者字体调整了,就免不了有问题。

其实这块如果是做得比较好的话,比较方便的话,其实Windows Phone开发那会儿有个方式。相当平台是基本某个特定的分辨率去开发的,例如480x800,其它的分辨率,平台会自动根据这个分辨率去放大调整。

WPF中,我现在用的方法,有时候会用字体大小去乘位数的方式去弄一些尺寸。这样字体大小调整了,有些尺寸就可以自动跟着调整。

方式就是自己定义一个IValueConverter

    public class MultiplyConverter : IValueConverter
    {
        public double Multiplier { get; set; }

        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value is int val)
            {
                return (int)(val * Multiplier);
            }

            return value;
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

然后前台使用:

<cvt:MultiplyConverter x:Key="WidthConverter" Multiplier="10" />

Width="{Binding TextFontSize, Converter={StaticResource WidthConverter}}"

标签:显示器,软件开发,分辨率,object,value,UI,关于,尺寸,public
From: https://www.cnblogs.com/wzwyc/p/18494560

相关文章

  • 6个关于JavaScript的超级技巧
    对象属性简写问题:将变量分配给对象属性可能会重复。解决方案:使用属性简写来简化对象创建。动态属性名称问题:使用动态属性名称创建对象可能很冗长。解决方案:使用计算属性名称动态创建对象属性。数组方法:map()、、filter()和reduce()问题:对数组进行迭代可能会重复。解决方案......
  • 关于我、重生到500年前凭借C语言改变世界科技vlog.8——函数递归
    文章目录1.递归的介绍2.递归的限制条件3.递归实战应用3.1求n的阶乘3.2顺序打印一个整数的每一位4.递归与迭代5.递归经典问题的拓展希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力!1.递归的介绍在vlog.2的printf函数的返回值举例中,我们使......
  • Redis Quicklist 竟让内存占用狂降50%?
    0引言Redis作为一种高效的内存型键值数据库,得益于其底层数据结构的精妙设计。对于List类型的数据,Redis从早期的简单链表(linkedlist),到压缩列表(ziplist),再到如今的quicklist和listpack,不断优化以平衡内存利用率和性能。这篇文章将深入剖析Redis的quicklist和listpack......
  • iOS 回到主线程刷新UI
    在iOS里面,项目打开就会运行一个主线程,所有的UI都在主线程里进行.其他网络请求或者耗时操作理论上也可以在主线程运行,但是如果太耗时,那么就会影响主线程其他UI.所以需要开字线程来进行耗时操作,子线程进行完耗时操作之后,如果项目需求有需要刷新UI,或者改变UI,一定得回到主......
  • 2024/10/22日 日志 --》关于Maven的基础学习 笔记整理
    今天正式步入Maven的学习,以下是基本的笔记整理。点击查看代码--Maven--·Maven是专门用于管理和构建Java项目的工具,它的主要功能有:--·提供了一套标准化的项目结构--·提供了一套标准化的构建流程(编译,测试,打包,发布...)--·提供了一套依赖管理机制--·......
  • ArkUI-Image详解
    ArkUI-Image详解本地资源创建文件夹,将本地图片放入ets文件夹下的任意位置。Image组件引入本地图片路径,即可显示图片(根目录为ets文件夹)。Image('images/pic1.webp').width(100).height(100)Resource资源使用资源格式可以跨包/跨模块引入图片,resources文件......
  • HarmonyOS ArkUI性能优化实践:长列表加载性能优化
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(MaoistLearning)➤博客园地址:为敢技术(https://www.cnblogs.com/strengthen/ )➤GitHub地址:https://github.com/strengthen➤原文地址:https://www.cnblogs.com/strengthen/p/......
  • 缺少exuikrn.dll文件怎么解决?exuikrn.dll找不到的处理方法
    exuikrn.dll是一个动态链接库文件,它可能与某些特定的应用程序或系统组件相关联。当您的计算机上缺少这个文件时,可能会遇到应用程序无法正常启动、运行时错误或者系统不稳定等问题。本指南将提供几种解决此问题的方法。解决方案一:重新安装相关软件1.识别缺失原因:首先确定是......
  • 移动开发(四):.NET MAUI中Android应用修改安装图标和启动页面
    今天继续给大家分享.NETMAUI中开发的Android应用如何修改安装图标和启动页面,希望对大家使用Net开发安卓APP提供一些帮助!一、更换APP应用图标这里我们直接编辑项目文件MyFirstMauiApp.csproj来修改APP应用图标官方案例默认的组合图标,其中ForegroundFile表示前景图像(选填),Inclu......
  • element-ui中,使用this.$message.success(“登录成功“),如何修改文字的样式呢?
    在element-ui中使用this.$message.success(“注册成功”);时,直接修改文字样式并没有暴露出很方便的接口,因为ElementUI的消息提示组件Message是通过JavaScript动态创建的。但是你可以通过以下方法自定义消息的样式:方法1:使用customClass属性ElementUI的Me......