为片段中的textviews设置区域设置

时间:2015-07-13 18:39:46

标签: java android android-fragments textview locale

我想为单个文本视图设置区域设置。这意味着只有textview将以另一种语言显示(在我的例子中是法语),但遗憾的是它不起作用。虽然我没有收到错误,但没有任何反应。

 Locale locale = new Locale("fr");
 maintext.setTextLocale(locale);
tried updating confguirations , same thing . Nothing changes .

 Locale locale = new Locale("fr");
Configuration config = new Configuration();
config.locale = locale;
getActivity().getResources().updateConfiguration(config,
    getActivity().getResources().getDisplayMetrics());
maintext.setTextLocale(locale);

我尝试在正常活动中这样做,并且它工作得很好。

2 个答案:

答案 0 :(得分:0)

通过setTextLocale设置文本区域设置仅指定用于呈现文本的字体类型。语言环境直接应用于用于在屏幕上呈现字体的基础Paint对象。 以下是电话会议的文档:http://developer.android.com/reference/android/graphics/Paint.html#setTextLocale(java.util.Locale)

直接通过配置文件更改语言环境将在整个应用程序中应用语言环境更改。这可能不是你想要的。

您必须明确指定要用于该视图的法语文本。

答案 1 :(得分:0)

您可以String.format()Locale.FRENCH一起使用来本地化TextView的文本。

示例

String txtFrench = String.format(Locale.FRENCH, "%s", item.getFrenchName());
mFrenchTextView.setText(txtFrench);