Я создаю приложение на языке nepali/hindi
. Но эти тексты не поддерживаются / не отображаются на устройствах с уровнем API 19. Он не работает в обоих направлениях, т.е. когда я пытаюсь установить текст напрямую с xml
или программно.
txt2.setText("कर्मचारी");
Я даже пробовал вызвать строку, поставив ее на string.xml
, все равно не работает.
txt2.setText(getApplicationContext().getString(R.string.myCharacter));
текст не появляется. Кто-нибудь может мне помочь?
Есть ли в вашем шрифте эти символы?
getApplicationContext (). getResources (). getString (R.string.my Character) вы можете попробовать это
Ваше тестовое устройство должно поддерживать хинди / непали в качестве языка отображения в настройках телефона, т. Е. Настройки -> Язык.
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. Если это не сработает, используйте реальное устройство вместо эмулятора.
Ваше тестовое устройство должно поддерживать хинди или непали (шрифт) в качестве языка отображения в настройках телефона, т. Е. «Настройки» -> «Язык и ввод» -> «Изменить язык».
Спасибо всем за ответ, ребята. Однако я нашла подходящую для себя. Я создал папку с активами> Шрифт и вставил в нее необходимый мне ttf-файл. И после этого просто написал необходимый текст unicod ein xml. Затем я назвал его, используя шрифт как
Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/aparaj.ttf");
txt2.setTypeface(typeface);
Это сработало для меня так, как я хотел.
используйте utf8, и, возможно, вам также понадобится вспомогательный шрифт