Android Отображение шрифтов с несколькими языками с использованием fontFamily - PullRequest
1 голос
/ 14 июля 2020
  • У меня есть приложение, которое использует два языка (Locales), и я хочу установить другой шрифт для разных языков, я создал две папки в моем каталоге res font и font-ar, когда Я программно изменяю конфигурацию локали в приложении с английского sh на арабский c и запускаю Intent из моего приложения Activity, которое все еще отображается шрифтом Engli sh, мои ресурсы strings.xml, drawable.xml обновляются в соответствии с язык, но шрифт не обновляется.

  • Но когда я убиваю свое приложение и перезапускаю приложение, шрифты отображаются в Arabi c

Найдите мой каталог шрифтов введите описание изображения здесь

// Установка такого шрифта в моем макете

<TextView
    android:id="@+id/offer_name_tv"
    android:fontFamily="@font/muli_bold"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginEnd="@dimen/margin_lsmall"
    android:maxWidth="230dp"
    android:text="Mall of Emirates Mall of Emirates Mall of Emirates"
    android:textSize="@dimen/textsize_lllmedium"
    android:visibility="gone" />
public static void changeToArabicLanguage(Context context) {

        Configuration configuration = context.getResources().getConfiguration();
        configuration.setLocale(new Locale("ar"));
        configuration.setLayoutDirection(new Locale("ar"));
        context.getResources().updateConfiguration(configuration, context.getResources().getDisplayMetrics());
    }

такой вызов из моего фрагмента для изменения языка

Utility.changeToArabicLanguage(getActivity().getApplicationContext());

Intent intent = new Intent(activity, SplashScreenActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...