我想在我的应用程序指定我自己的文字大小,但我有这样一个问题。

当我在设备设置中更改字体大小,我的应用程序的字体大小TextView也会改变。

Answer 1:

其实,设置字体大小只影响大小sp 。 因此,所有你需要做的-定义textSize在dp而不是sp ,然后设置将不会在您的应用程序更改文字大小。

下面是该文档的链接: 尺寸

但是请注意预期的行为是在所有的应用程序的字体尊重用户的喜好。 原因有很多用户可能要调整字体大小,其中有些甚至可能是医疗 - 视觉障碍的用户。 使用dp ,而不是sp的文字可能会导致对一些应用程式使用者的不情愿区别。

即:

android:textSize="32dp"

Answer 2:

这样做最简单的就是使用类似以下内容:

android:textSize="32sp"

如果您想了解更多关于textSize属性,可以检查Android的开发者文档 。

Answer 3:

使用dimension喜欢你使用的资源类型string资源( DOCS )。

在你dimens.xml文件,声明维度的变量:

25dp

150dp

30dp

16sp

然后,你可以使用这些值是这样的:

android:layout_height="@dimen/textview_height"

android:layout_width="@dimen/textview_width"

android:textSize="@dimen/font_size"/>

你可以声明不同dimens.xml针对不同类型的屏幕文件。 这样做可以保证你的应用程序在不同设备所需的外观。

当你没有指定android:textSize系统将使用默认值。

Answer 4:

还要注意的是,如果TEXTSIZE被设置在代码,调用textView.setTextSize(X)解释为SP的数目(X)。 使用setTextSize(TypedValue.COMPLEX_UNIT_DIP, X)在DP设定值。

Answer 5:

那么是不是有一个dimen.xml文件中定义时,通过代码重新指定DIP或SP一件好事。

我认为最好的办法是使用dimen.xml值时使用PX:

tv.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimensionPixelSize(R.dimen.txt_size));

通过这种方式,你可以从DP切换,如果需要dimen.xml文件到SP,而无需更改任何代码。

Answer 6:

简单的方式,以防止整个应用程序从由系统字体大小得到实现是使用碱活性updateConfiguration。

//in base activity add this code.

public void adjustFontScale( Configuration configuration) {

configuration.fontScale = (float) 1.0;

DisplayMetrics metrics = getResources().getDisplayMetrics();

WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);

wm.getDefaultDisplay().getMetrics(metrics);

metrics.scaledDensity = configuration.fontScale * metrics.density;

getBaseContext().getResources().updateConfiguration(configuration, metrics);

}

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

adjustFontScale( getResources().getConfiguration());

}

Answer 7:

在移民 ,而不是SP的使用字体大小textSize解决这个问题。

Answer 8:

这可能会有帮助。 添加代码自定义应用程序或BaseActivity

/**

* 重写 getResource 方法,防止系统字体影响

*

* @return

*/

@Override

public Resources getResources() {

Resources resources = super.getResources();

if (resources != null && resources.getConfiguration().fontScale != 1) {

Configuration configuration = resources.getConfiguration();

configuration.fontScale = 1;

resources.updateConfiguration(configuration, resources.getDisplayMetrics());

}

return resources;

}

然而,资源#updateConfiguration是API 25级,这意味着它会不支持一些有朝一日deplicated。

Answer 9:

你有TextView的标签在XML写:

android:textSize="32dp"

Answer 10:

如果使用的单位是SP,而不是DP,和你想覆盖系统字体缩放,你要做的就是重写一个方法在活动- 看到这个帖子 。

resources.updateConfiguration已被废弃,越野车(上奥利奥我有格式的文本问题)。

Answer 11:

您可以使用此代码:

android:textSize="32dp"

它解决了你的问题,但你要知道,你应该尊重用户的决定。 由此,从设备的设置更改文字大小不会改变此值。 所以这就是为什么你需要使用SP,而不是DP的。 所以我的建议是审查与不同的系统字体大小您的应用程序(小,中,大,...)

Answer 12:

重写getResources()中活性的影响。

在SP和往常一样,比如集合的TextView的尺寸android:textSize="32sp"

override fun getResources(): Resources {

return super.getResources().apply {

configuration.fontScale = 1F

updateConfiguration(configuration, displayMetrics)

}

}

文章来源: Font size of TextView in Android application changes on changing font size from native settings

android设置应用字体大小,在Android应用程序改变的TextView的字体大小从原始设置更改字体大小(Font size...相关推荐

  1. 批量更改图片大小程序

    假设我们现在有目标文件夹A,A中包含40个文件夹s1,s2...s40,每个文件夹下包含10张图1,2,3...10.图片大小任意. 我们的目标是在不改变整个图片数据格式的前提下,批量更改图片大小,最 ...

  2. Android中设置字体居中,【Android】TextView中不同大小字体如何上下垂直居中?

    前言 在客户端开发中,我们往往需要对一个TextView的文字的部分内容进行特殊化处理,比如加粗.改变颜色.加链接.下划线等.iOS为我们提供了AttributedString,而Android则提供 ...

  3. android+设置字体行高,android textview设置字体的行距和字间距

    android textview设置字体的行距和字间距 字间距 textView有一个属性android:textScaleX是调节字间距的,它的值是一个float型.查看源代码,默认textView ...

  4. Android 动态创建控件并设置控件的大小之Android屏幕适配攻略(五)

    Android 屏幕适配攻略(五)动态创建控件并设置控件的大小 题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. 重要消息 flutter中网络请求dio使用分析 视频 ...

  5. android如何设置透明字体颜色,android TextView文字透明度跟背景透明度设置

    当前位置: 我的异常网 » Android » android TextView文字透明度跟背景透明度设置 android TextView文字透明度跟背景透明度设置 www.myexceptions ...

  6. android 更改字体_如何在Android中更改字体

    android 更改字体 Ben Stockton 本·斯托克顿 Android offers plenty of options to customize the appearance of you ...

  7. android 字体文件压缩,Android创建assets文件夹并使用字体图标(Icon Font)

    首先我们要知道如何在AS中新建引用assets文件 1.将项目切换到Project模式 Project.png 2.要注意assets文件夹要跟Java文件在同一目录下,都包含在main的文件下面. ...

  8. wear手表软件合集_如何设置,调整和使用Android Wear手表

    wear手表软件合集 Android Wear is a rather useful addition to your arsenal of technology, but getting to kn ...

  9. android中用代码设置edittext属性为密码,Android中EditText常用属性设置

    EditText继承关系:View–>TextView–>EditText 常用属性如下:android:layout_gravity="center_vertical" ...

最新文章

  1. J2EE环境的搭建之二—oracle的安装与详解
  2. C#中GDI绘制高质量平滑图形实例
  3. React开发(248):react项目理解 ant design input autosize
  4. BZOJ-1901 Zju2112 Dynamic Rankings 函数式线段树 套 树状数组+离线处理
  5. 数据结构题集(C语言版 清华大学出版社)
  6. Vue项目中直接调用打印机打印网页的某一区域的方法
  7. 获取FPGA芯片序号
  8. JS最简单的IPv4转换成IPv6 方法
  9. access_token(接口访问凭证)
  10. 拆分一个链表为偶数链表和奇数链表
  11. sum if函数的精妙及高级用法:
  12. 易语言.尘土界面库2.0版源代码分析(1):缘起
  13. 【Windows网络重置】
  14. [OOD设计] - Black Jack Game (21点)
  15. MySQL 5.7 OCP考试大纲
  16. Android 流量分析API
  17. Python图像处理库PIL的ImageColor模块介绍
  18. ImportError: TensorBoard logging requires TensorBoard version 1.15 or above 问题解决
  19. 数据仓库架构及基础知识
  20. 节点度表示法 表头节点,表结点 内部排序

热门文章

  1. 别样的风景——韦应物《滁州西涧》赏析
  2. 国网站直接SHOPPING经验之总结, 和美国代购说拜拜~~新加 如何注册PAYPAL~~~~
  3. android系统升级实现,疯狂升级的Android系统
  4. Output输出缓存区大小只有1024KB,超过大小限制的就会被清除
  5. 手机app 与pc 软件测试区别,1,web测试,Android测试,Ios测试的共同点与
  6. “人工智能发展现状”
  7. 打开php文件url格式,url格式是什么
  8. 人类的幸福和欢乐在于奋斗,而最有价值的是为理想而奋斗
  9. 阿里巴巴2018秋招总结
  10. 将JPG图片直接转换成PDF软件操作步骤