界面库对大dpi的支持

来源:互联网 发布:淘宝童萌会手办 编辑:程序博客网 时间:2024/05/16 06:57
首先,通过调用SetProcessDpiAware或者配置manifest,让进程对dpi感知,这样在大dpi时,操作系统就不会虚拟dpi(模糊放大我们的界面),我们就能自己完全控制界面的dpi效果。


操作系统的dpi只是一个系统的参数变量,并不会对界面效果产生影响,要支持大dpi的界面效果,需要界面库按照当前dpi的大小,将界面的元素放大到对应的比例。
需要处理以下方面:
1.字号
2.布局
3.图片缩放


字号比较简单,针对dpi将字号调整到对应的大小就行。
布局这里,理想状态下,需要将界面的控件位置大小,等比例放大。这里的复杂度,取决于界面的布局系统,如果布局系统本身是相对布局的,一般来说都不是问题,如果是绝对布局的,就比较麻烦。


待续
0 0