gpt4 book ai didi

android - BottomNavigation BadgeDrawable 设置在特定区域设置中显示的数字,而不考虑选择一个

转载 作者:行者123 更新时间:2023-12-04 11:44:09 25 4
gpt4 key购买 nike

项目支持RTL;尤其是阿拉伯语。
要求是所有数字都必须以英文格式出现,即使语言选择为阿拉伯语区域设置,我们在任何地方实现它的方式通常是在 TextViews 的情况下使用以下代码:

TextView t = findViewById(R.id.sampleTV);
t.setText(String.format("123",Locale.US));
此处 123 将显示为“123”,因为我们在美国语言环境中将其格式化为硬编码而不是“١٢٣”
我想为 Android Material 组件的底部导航提供的徽章通知实现相同的功能,这是我尝试过的:
if(navigation!=null) {  
NumberFormat nf = NumberFormat.getInstance(Locale.US);

BadgeDrawable badgeDrawable = navigation.getOrCreateBadge(R.id.nav_account);
if (badgeDrawable != null) {
if((counterNoti + counter + counterRoom) <= 0) {
badgeDrawable.setVisible(false);
badgeDrawable.clearNumber();
}
else
{
int x = counterNoti + counter + counterRoom;
nf.format(x);
badgeDrawable.setVisible(true);
badgeDrawable.setNumber(x);
}
}

(where navigation is reference to my BottomNavigation!)
然而,即使这样,数字也以阿拉伯语显示,不像 setText 的情况。有没有办法实现这一点,或者我需要一个替代方案?
感谢您的投入和时间!谢谢。

最佳答案

以下对我有用,通过在 onCreate 中调用以下函数来更改当前 JVM 实例的本地

private fun numbersFormat() {
val locale = Locale.ENGLISH
Locale.setDefault(locale)
}

关于android - BottomNavigation BadgeDrawable 设置在特定区域设置中显示的数字,而不考虑选择一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66546211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com