Intereting Posts
Сбой приложения Android на addAccountExplicitly (учетная запись, пароль, null); Как обрезать прямоугольник из изображения в android Переключатель большого пальца перекошен? Доступ к локальному хосту: порт с эмулятора Android Другие инструменты для разработчиков Android Сгенерированный список классов не существует {module root} \ build \ intermediates \ data-binding-info \ release \ _generated.txt Получить stringXmlContent и записать, а затем сохранить в .xml-файл, хранящийся в sdcard в android, как это возможно? Добавление Spring для андроидной зависимости к проекту gradle + Android studio Как я могу аутентифицировать свои приложения webservice после использования Facebook SSO на Android? Android Espresso testing «Невозможно разрешить символ» InstrumentationRegistry '' Могу ли я заставить приложение запускать камеру по умолчанию, а не предлагать список «Полное действие с помощью»? Token не от поддерживаемого провайдера этого пула идентификации Amazon Mobile Hub Android GetStyledAttributes, аннотированный с помощью @StyleableRes. Подавлять предупреждения Внедрить таймаут в BluetoothSocket inputstream.read () в Android Нужен ли мне файл android.permission.WAKE_LOCK для сервисов Google Play, если я только выпущу его в Google Play Store?

Как отображать персидские (фарси) числа в представлениях

Я хочу отображать персидские (фарси) числа на представлениях. Например, я рассчитал дату и преобразовал ее в календарь Jalali, но как я могу отображать ее по персидским числам?

    Другой способ отображения чисел с персидским шрифтом – использование следующего класса-помощника:

     public class FormatHelper { private static String[] persianNumbers = new String[]{ "۰", "۱", "۲", "۳", "۴", "۵", "۶", "۷", "۸", "۹" }; public static String toPersianNumber(String text) { if (text.length() == 0) { return ""; } String out = ""; int length = text.length(); for (int i = 0; i < length; i++) { char c = text.charAt(i); if ('0' <= c && c <= '9') { int number = Integer.parseInt(String.valueOf(c)); out += persianNumbers[number]; } else if (c == '٫') { out += '،'; } else { out += c; } return out; } } 

    Сохраните этот класс как формат UTF8 и используйте его как следующий код FormatHelper.toPersianNumber (numberString);

    С помощью класса Typeface тип шрифта вида может быть изменен на шрифт Farsi, поэтому номера могут отображаться шрифтами Farsi:

     Typeface typeface = Typeface.createFromAsset(getAssets(), "FarsiFontName.ttf"); myView.setTypeface(typeface); 

    Установить языковой стандарт на арабский, Египет

     int i = 25; NumberFormat nf = NumberFormat.getInstance(new Locale("ar","EG")); nf.format(i); 

    Вы можете создать собственное представление и прикрепить шрифт farsi на этом, наконец, вы можете использовать это на xml views.most шрифт farsi не имеет английского номера на карте символов, и вы можете использовать это просто без проблем. например :

     public class TextViewStyle extends TextView { public TextViewStyle(Context context) { super(context); init(context, null, 0); } public TextViewStyle(Context context, AttributeSet attrs) { this(context, attrs, 0); init(context, attrs, 0); } public TextViewStyle(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(context, attrs, defStyle); } private void init(Context context, AttributeSet attrs, int defStyle){ try { TypedArray a = context.obtainStyledAttributes(attrs,R.styleable.TextViewStyle, defStyle, 0); String str = a.getString(R.styleable.TextViewStyle_fonttype); switch (Integer.parseInt(str)) { case 0: str = "fonts/byekan.ttf"; break; case 1: str = "fonts/bnazanin.ttf"; break; case 2: str = "fonts/btitr.ttf"; break; case 3: str = "fonts/mjbeirut.ttf"; break; case 4: str = "fonts/bnazanin_bold.ttf"; break; default: str = "fonts/bnazanin.ttf"; break; } setTypeface(FontManager.getInstance(getContext()).loadFont(str)); } catch (Exception e) { e.printStackTrace(); } } } 

    Attr.xml:

     <declare-styleable name="TextViewStyle"> <attr name="selected_background" format="integer"/> <attr name="fonttype"> <enum name="byekan" value="0"/> <enum name="bnazanin" value="1"/> <enum name="btitr" value="2"/> <enum name="mjbeirut" value="3"/> <enum name="bnazaninBold" value="4"/> </attr> </declare-styleable> 

    Вы должны добавить персидскую стандартную клавиатуру в Windows и перейти на эту клавиатуру, если хотите ввести персидские цифры и слова. Это работа для меня