如何在应用程序的styles.xml中更改运行时显示的文本的字体大小,具体取决于所用设备的屏幕大小。
答案 0 :(得分:4)
我遇到了同样的问题。我想在每个屏幕上获得相同的方面文本比率。没有dp也没有sp为我工作。对我有用的唯一解决方案是在启动时创建一个虚拟文本框(不可见),然后获取文本大小并乘以某个比例(取决于您实际需要的内容)。此值应用于动态设置文本大小到控件。 至少它对我有用,因为同样的方面仍然存在于每个不同的屏幕上。
答案 1 :(得分:2)
你需要通过dimens.xml文件添加文本大小,具体取决于屏幕大小.....看看下面的问题 - Text size and different android screen sizes
答案 2 :(得分:0)
您可以通过this,我使用以下方法在不同屏幕分辨率和大小上缩放文本。
要通过支持库以编程方式定义一系列文本大小和尺寸,请调用 TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(TextView textview, int autoSizeMinTextSize, int autoSizeMaxTextSize, int autoSizeStepGranularity, int unit)
方法。提供需要应用的文本视图、最大值、最小值、粒度值和任何 TypedValue 维度单位(如 TypedValue.COMPLEX_UNIT_SP
)。