我想在我的应用程序中指定自己的文本大小,但是我在执行此操作时遇到了问题.
当我在设备设置中TextView更改字体大小时,我的应用程序的字体大小也会更改.
我最近完成了我的Android应用程序开发.我对所有textSize使用了sp(Scaled pixels).问题是当我调整系统字体大小时,我的应用程序的字体大小正在改变.我可以使用dp(设备无关像素),但维护我的应用程序需要很长时间.
我从引用的文字大小此.
有没有办法防止系统字体大小更改效果到我的应用程序?
所以我们从许多其他帖子中知道我们应该在Android中使用sp而不是dp来处理文本,我们知道这样做的原因是尊重"用户的偏好".
但究竟这些偏好是什么?用户如何更改此设置?
我无法通过手机上的设置找到任何参考(我希望在"辅助功能"或"显示"中有所体现).那么什么是用户设置?它只是通过像"大字体"这样的应用程序来完成的吗?
假设它(由大字体设置) - 我使用Google Docs和其他一些字体设置为130%的Google应用程序.虽然大多数布局保持良好,但有些布局有点切断且无法读取(这是在大屏蔽的SGS2上).那么,使用'sp'开发具有文本大小的应用程序的方法是什么?我们是否确保它可以100%缩放,然后忽略其他设置 - 将其称为用户可以担心的特殊情况,或者我们是否竭尽全力确保事物扩展或可滚动,以防文本溢出?
一个论点是我们应该使用'dp'来保证用户有机会看到文本(即使他们必须使用放大镜)
思想/评论?
我正在使用 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 中为我的文本视图设置字体大小 14sp,问题是,当我更改手机文本大小时,在应用程序中它也会更改大小,我该如何防止这种情况?如何强制文本视图使用定义的文本大小?