Специальные символы не появляются в Android Api уровня 19 - PullRequest
0 голосов
/ 18 декабря 2018

Я создаю приложение на языке nepali/hindi.Но эти тексты не поддерживаются / не видны в устройствах с уровнем API 19. Он не работает в обоих направлениях, т.е. когда я пытаюсь установить текст прямо из xml или программно.

txt2.setText("कर्मचारी");

Я даже пытался вызвать строку, поставив ее на string.xml, но она не работает.

txt2.setText(getApplicationContext().getString(R.string.myCharacter));

текст не отображается.Может кто-нибудь помочь мне?

Ответы [ 3 ]

0 голосов
/ 18 декабря 2018

Ваше тестовое устройство должно поддерживать хинди или непальский (шрифт) в качестве языка дисплея в настройках телефона, т.е. Настройки -> Язык и ввод -> Изменить язык.

0 голосов
/ 18 декабря 2018

Спасибо всем за ответ, ребята.Однако я нашел подходящий для меня.Я создал папку ресурсов> Шрифт, и внутри нее я вставил нужный мне файл ttf.И после этого я просто написал необходимый текст Unicod Ein XML.Затем я назвал его, используя гарнитуру как

Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/aparaj.ttf");
    txt2.setTypeface(typeface);

Это сработало для меня, как я хотел.

0 голосов
/ 18 декабря 2018

1. Измените шрифт по умолчанию, добавив ресурс шрифта (подробнее здесь ) и в style.xml, в разделе AppTheme, добавьте этот шрифт style.xml

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:fontFamily">@font/fontName</item>
</style>

2.Если это не работает, используйте реальное устройство вместо эмулятора.

...