android的SystemUI语言不跟随系统语言改变的问题
(2013-12-13 17:41:34)android的SystemUI语言不会跟随系统语言改变,对于这个问题,大家都知道,是因为SystemUI不是Activity的原因。要修改这个问题,就只能通过对语言改变的监听来实现,而在SystemUI也确实有对语言改变的监听:
PhoneStatusBar.java文件中:
private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
}
}
}
可以看到语言改变后会调用updateResources()这个方法,看看这个方法怎么写的:
void updateResources() {
if (mClearButton instanceof TextView) {
见红色字体,是对状态栏通知的清除按钮设置文字,而确实语言改变,清除按钮的语言是会相应变化的。
那么遇到不会改变语言的地方,我们就可以在updateResources()中增加自己的逻辑,即重新设置布局的字串,就可以解决了。
亲测有用,写的不对的地方,欢迎大家指教。