Android 强制droid SAN在应用程序中用作字体

Android 强制droid SAN在应用程序中用作字体,android,fonts,Android,Fonts,我有一个android应用程序,如果用户通过设置将他/她的系统字体更改为其他字体,它看起来很难看,如何强制我的应用程序使用droid SAN作为默认字体,或强制单个元素使用droid SAN而不考虑用户偏好。您可以使用XML布局通过android:typeface为应用程序设置字体。您可以将其设置为normal,sans,serif,或monospace,将字体文件放在项目“/assets”文件夹中,并按以下方式使用: TextView text = (TextView) findVie

我有一个android应用程序,如果用户通过设置将他/她的系统字体更改为其他字体,它看起来很难看,如何强制我的应用程序使用droid SAN作为默认字体,或强制单个元素使用droid SAN而不考虑用户偏好。

您可以使用XML布局通过
android:typeface
为应用程序设置字体。您可以将其设置为
normal
sans
serif
,或
monospace
,将字体文件放在项目“/assets”文件夹中,并按以下方式使用:

    TextView text = (TextView) findViewById(R.id.some_text);
    text.setTypeface(Typeface.createFromAsset(getAssets(),
            "DroidSans.ttf"));

styles.xml
中,转到基本应用程序主题定义,然后强制字体使用sans。所以它将是如下所示

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:typeface">sans</item>
</style>

我已经这么做了,如果用户从android设置应用程序中选择另一种字体,它将不起作用。您不能强制它,只是建议。有没有一种方法可以在不获取DroidSans.ttf副本的情况下执行此操作,这样我们就不必处理版权许可证?DroidSans.ttf不应该直接与Android sdk一起使用吗?