当前位置:首页 » APP上架 » 正文

小米开发平台大字体适配说明

小米开发平台字体适配说明

1.背景

目前MIUI中可调节字体大小的有两处:字体大小 、显示大小。

1.1.字体大小

位置:设置-显示-字体大小。

原理:修改FontScale,仅修改字体大小,当字体档位偏大时,可能会造成布局错乱、重叠等问题。

1.2.显示大小

位置:设置-更多设置-无障碍-显示大小。

原理:修改屏幕显示密度DPI,修改DPI后可整体调整显示比例,包括字体大小和图片大小。

2.现存问题

  • 无论是系统App、还是第三方App,对于大字体的适配效果均可以优化以满足特殊人群对大字体的需求;
  • 部分第三方App不随MIUI系统字体大小的变化而变化(或变化后效果欠佳),且部分App自身有大字体调节设置,未做关联融合,用户体验不佳。

3.三方应用适配MIUI大字体优化方案

3.1.字体大小调整说明

字体大小调整FontScale,并且应用对应的UIMode。FontScale和相应的UIMode档位详情如下:

小米开发平台大字体适配说明小米开发平台大字体适配说明

3.1.1.字体大小适配步骤

如果需要特殊适配相应的UIMode,需要添加对应的资源文件夹,详见以下步骤:

  • Step1: 把需要随字体模式改变而变大小的文字大小用sp单位描述;
  • Step2: 把需要随字体模式改变的资源放在XXX-[YYYui]-ZZZ的目录下,例如drawable-largeui-hdpi,YYY的可选集合为{ smallui, mediumui, largeui, hugeui, godzillaui };
  • Stapp咋生成网址ep3:如果需要在代码中根据字体模式执行不同的代码,可通过MiuiConfiguration.getScaleMode()获取,并与MiuiConfiguration.UI_MODE_TYPE_SCALE_LARGE等比较即可。

3.1.2.附加说明

  • 不同UIMode下的资源, 是并列关系, 不存在类似 xxhdpi -> xhdpi 的兜底,意思是在xxhdpi没找到资源并不会再去xhdpi中找;
  • 对于不需要特殊适配 “巨无霸” 模式的app, 只要复制 “超大号” 适配的资源到 “巨无霸” 下即可完成适配。

3.2.显示大小调整说明

显示大小调整修改屏幕显示密度DPI,在系统默认DPI的基础上进行放大和缩小,修改显示大小是通过修改设备configuration中的display density 实现的,具体档位说明如下:

小米开发平台大字体适配说明小米开发平台大字体适配说明

用户修改了显示大小,那就是修改了屏幕显示密度DPI参数,此时应用加载的资源目录可能会发生变化,比如由xxhdpi变为xxxhdpi,具体加载哪个目录的资源由当前显示密度决定。

3.3.三方应用监听字体大小档位变化的方法

  • 监听字体大小变化的方法
IntentFilter filter = new IntentFilter();filter.addAction(Intent.ACTION_CONFIGURATION_CHANGED);registerReceiver(mIntentReceiver, filter);
  • 获取当前字体大小档位的方法,通过获取UIMode来获取
static int getCurrentUIModeType() { Configuration config = Resources.getSystem().getConfiguration(); return config.uiMode & Configuration.UI_MODE_TYPE_MASK;}

其中字体大小的小号,标准,中号,大号,超大,巨无霸对应的UIMode值分别是12,1,13 ,14 ,15 ,11

  • 获取当前屏幕显示密度的方法可参考:
static float getCurrentDensityDpi(Context context) {DisplayMetrics metrics = new DisplayMetrics();WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);wm.getDefaultDisplay().getMetrics(metrics);return metrics.densityDpi;}

4.需三方应用支持的具体内容

MIUI大字体的适配,能够照顾到视力有障碍以及老年用户,能够让用户感受到App的用心,提升用户体验;将用户放在首位,建立良好的口碑,让App能够在更广泛的人群中传播,因此在适配过程中,需要三方应用支持下述内容:

  • MIUI修改字体大小的时候修改了FontScale,FontScale的变化针对屏幕上用像素为单位的文本是不起作用的,需要适配的话文本需要使用sp为单位,同时字体变大可能导致布局变化,需要特殊注意;
  • MIUI修改字体大小的同时还修改显示模式(UIMoapp生成器软件de),需要特殊适配需要添加对应的资源文件夹,具体的UIMode详情和适配步骤详见:3.1字体大小调整说明;
  • MIUI修改了显示大小时是修改了屏幕的DPI值,此时应用加载资源的目录可能会发生变化,具体加载哪个目录由当前的DPI值决定,同时DPI变化会直接导致布局的变化,需要进行一个自查,若出现文字折行、文字和icon重叠等情况,需进行调整适配,有利于用户体验的提升。

5.FAQ

5.1.常见的修改字体大小引起的问题和解决方法

  • 文本内容显示不全, 需要调整布局, 或者调整不同显示密度对应的文本dp和sp值。
  • 图片割裂或显示不全, 原因一般是图片资源和显示密度不匹配, 需要在监听到字体变化后重新加载图片。

5.2.平板应用不需要修改,保持原来的设计

编辑:yimen,如若转载,请注明出处:https://www.yimenapp.com/kb-yimen/12574/

部分内容来自网络投稿,如有侵权联系立删

未经允许不得转载:一门应用 » 小米开发平台大字体适配说明
分享到

相关推荐

联系我们

微信公众号

yimendabao

关注官方微信,了解最新资讯

客服QQ
4001658508

企业QQ,点击发起咨询