树莓派遇见Android Things(三):解决中文乱码问题

树莓派遇见Android Things(一):Raspberry Pi 3B安装Android Things

树莓派遇见Android Things(二):编写第一个程序

树莓派遇见Android Things系列教程前两篇已经带着大家在树莓派上烧写了固件,并且编写了hello world程序,有的同学在自己尝试中可能已经发现,Android Things 不!能!显!示!中!文!

别慌,稳住,搬个小板凳做好,吃着瓜子听我慢慢跟你唠。看看怎么解决。

其实很简单,不能显示中文只是因为Android Things目前还没有内置中文字库,我们只需要在app中放入字库,然后全局替换即可

下面撸起袖子开始干

1.首先下载你喜欢的中文字体,.ttf格式;

2.在你的项目里新建assets文件夹,最好是把项目视图切换到Project视图新建,注意assets文件夹与java文件夹同级别,目录结构如下,然后在assets文件夹下新建font文件夹,把字库文件放进去即可。


3.在项目自定义的Application中加载自己的字体,废话少说,看东西

public class MyApp extends Application {
    public static Typeface typefaceStHeiTi;

    @Override
    public void onCreate() {
        super.onCreate();
        typefaceStHeiTi = Typeface.createFromAsset(getAssets(), "fonts/STHeiti.ttf");

        try {
            Field field = Typeface.class.getDeclaredField("MONOSPACE");
            field.setAccessible(true);
            field.set(null, typefaceStHeiTi);
        } catch (NoSuchFieldException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
    }
}

这样就替换了系统的 monospace(等宽字体)


4.在style.xml文件中添加样式

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:typeface">monospace</item>
</style>
5.在AndroidManifest.xml文件中的<application>节点中引用步骤4中的样式

<application
        android:name=".MyApp"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
6.大功告成,在你的代码中加入中文测试一下效果


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值