Intereting Posts
Есть ли способ интегрировать Eclipse с Gradle в проект Android? Есть ли способ рисовать заполненную область с помощью Canvas без использования Path? Eclipse успешно компилируется, но все же дает семантические ошибки Правильная реализация MVVM в Android Добавьте непрозрачную «тень» (контур) в Android TextView Кудрявые фигурные скобки в «новом» выражении? (Например, «новый MyClass () {…}») Как обрабатывать файлы cookie в httpUrlConnection с помощью cookieManager NullPointerException в WindowManagerImpl на Android OS 3.2 Не удается установить муравьев правильно для телефонной заставки, используя eclipse и windows 8 Android-тамильский шрифт между английским словом Android – в App Purchase – вам нужно добавить разрешение BILLING на ваш APK Ошибка приложения после установки на Theme.NoTitleBar.Fullscreen Интеграция сканера QR-кода ZXing без установки BarCode Scanner Gradle: добавьте зависимость для конкретного вкуса библиотеки Вывод на экран Android длинных маршрутов на MapView с использованием XML-анализа

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

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

Solutions Collecting From Web of "Как отображать персидские (фарси) числа в представлениях"

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

 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 и перейти на эту клавиатуру, если хотите ввести персидские цифры и слова. Это работа для меня