我想在我的应用程序中指定自己的文本大小,但是我在执行此操作时遇到了问题.
当我在设备设置中TextView更改字体大小时,我的应用程序的字体大小也会更改.
我正在使用 React Native 为 iOS 和 Android 开发一个应用程序,并且我试图阻止应用程序中显示的特定于设备的缩放。
对于文本/字体大小缩放,将以下代码放在根级 App.js 文件中可以解决 iOS 和 Android 的问题:
if (Text.defaultProps == null) {
Text.defaultProps = {};
}
Text.defaultProps.allowFontScaling = false;
Run Code Online (Sandbox Code Playgroud)
但是,Android 设备具有以下仍在应用的显示尺寸设置:
我已尝试(未成功)将我在以下问题的答案中找到的针对此问题的各种“解决方案”拼凑在一起:
如果设置 -> 显示 -> 显示大小更改为大或小,则禁用应用程序或活动缩放
如何防止系统字体大小更改对 android 应用程序的影响?
我经常发现对BaseActivity扩展Activity类的类的引用。我的理解是,它是内部的类,我会写一个方法(我们称之为adjustDisplayScale)来进行更改Configuration的Context,我从拿到Resources,那之后我会打电话adjustDisplayScale的内部onCreate()方法后super.onCreate()的在MainApplication.java文件中。
到目前为止,在这个目录中我只有两个文件 -MainApplication.java和MainActivity.java.
我已经尝试创建一个新的模块和相关的包文件来adjustDisplayScale按照这些说明来实现,但它不起作用:https :
//facebook.github.io/react-native/docs/text.html
我已经尝试将实现的功能adjustDisplayScale中onCreate()喜欢这一点,它没有工作:
@Override …Run Code Online (Sandbox Code Playgroud) android android-context android-layout context-configuration react-native-android
我只想在android xml文件中使用“ sp”。但是为了避免布局混乱,我希望可以设置最大字体大小。怎么做?
我想允许用户选择字体大小.
备件确实提供了这样做的功能,
ActivityManagerNative.getDefault().updateConfiguration(新的字体大小比例配置)
但这适用于所有Android应用程序.我想在我的应用程序的首选项中添加它,只对我的应用程序产生影响.
我试过下面的方法,它有时会起作用,但是第一次启动应用程序时,字体大小仍然是1.0比例.我不是为什么.我在我的活动的每个onCreate中添加了以下代码.
配置config = resources.getConfiguration(); config.fontScale = 1.5F; resources.updateConfiguration(config,mDisplayMetrics);
我能做什么?
您知道如何在本机上限制 iOS 上可访问性附带的 fontSize 乘数吗?我看到了这个要点:https : //gist.github.com/Jpoliachik/ed5cb38b480bc544427ce0db529786bf
但它似乎过时了,我在 Obj-C 中还不够好,无法修复它。
当设置->显示->字体大小上的字体大小为“正常”时,我的应用程序按照设计运行良好。
当我将字体大小更改为小/大时,整个内容都被混搭了。我的应用程序是内容密集型的,这对应用程序产生了严重影响。
可以说,操作栏标题就像“隐私和设置”。当字体大小在系统设置中设置为“大”时,标题超出边界/椭圆大小。列表视图内容看起来很可悲。
有没有办法确保设置->字体中的更改不会影响我们的应用程序?
Flipboard 应用程序做到了这一点。