有没有办法规定Android的字体应该使用行号而不是老式的数字?

有没有办法规定Android的字体应该使用行号而不是老式的数字?,android,typeface,android-typeface,Android,Typeface,Android Typeface,我使用的是Raleway,默认值是使用旧式数字,其中3、4、5、7和9下降到基线以下。在iOS上,我可以指定一个功能设置,以使用大写字母编号: UIFontFeatureSelectorIdentifierKey : @(kUpperCaseNumbersSelector) 如何在Android上实现此功能?因此,对于Android 5.0及以上API 21,您可以使用fontFeatureSettings属性启用此功能: TextView myTextView = findViewById(

我使用的是Raleway,默认值是使用旧式数字,其中3、4、5、7和9下降到基线以下。在iOS上,我可以指定一个功能设置,以使用大写字母编号:

UIFontFeatureSelectorIdentifierKey : @(kUpperCaseNumbersSelector)

如何在Android上实现此功能?

因此,对于Android 5.0及以上API 21,您可以使用fontFeatureSettings属性启用此功能:

TextView myTextView = findViewById(R.id.myTextView);
myTextView.setFontFeatureSettings("lnum"); // Enabling lining numbers

我试过和Raleway一起工作。不幸的是,这可能不是一个充分的选择。还有一个类似的问题,建议的解决方案是将字体重新上传到FontSquirrel的字体,并用行号符号替换表格符号

你用的是什么字体?只是机器人?否则,它是一种支持这两种样式的OpenType字体吗?我正在使用-那就是字体面。是的,它支持两种风格。如果没有其他人支持,我会尽快回复你。我相信从API 21开始,这在本地是可能的。对于API20及以下版本,它可能需要一个有点粗糙的解决方案。看起来很有希望。我的文本处理代码中已经有一个很大的ol'if Build.VERSION.SDK_INT