Java 字体未应用于复选框并切换到Android Studio 3

Java 字体未应用于复选框并切换到Android Studio 3,java,android,xml,Java,Android,Xml,在升级到Android Studio 3并使用最新的SDK和构建工具后,有一个功能可以将字体添加到参考资料下的font文件夹中,并直接在xml或java中使用。我在styles.xml中的主题中使用了这段代码,以便在整个应用程序中应用主题 <item name="android:fontFamily">@font/iransansfont</item> @font/iransansfont 它正在处理按钮,文本视图,以及几乎所有的东西,除了复选框和开关小部件。我甚至在

在升级到Android Studio 3并使用最新的SDK和构建工具后,有一个功能可以将字体添加到参考资料下的
font
文件夹中,并直接在xml或java中使用。我在
styles.xml中的主题中使用了这段代码,以便在整个应用程序中应用主题

<item name="android:fontFamily">@font/iransansfont</item>
@font/iransansfont

它正在处理
按钮
文本视图
,以及几乎所有的东西,除了
复选框
开关
小部件。我甚至在我的
复选框和
开关上尝试了
fontFamily
,但它也不起作用。如何修复它?

目前,无法通过XML在带有字体资源的复选框(以及其他一些小部件)上设置字体。 您可以通过编程方式执行此操作:

checkBox.setTypeface(ResourcesCompat.getFont(context, R.font.your_font));

Android bug tracker上已经报告了这个问题,启动它以尽快修复:

问题在2019年仍然存在(api=28),这仍然是一个可行的解决方案。您还可以使用书法库更改所有小部件的字体。