Dies mag ein bisschen fischig klingen, aber auch ich weiß nicht, ob dies in Android möglich ist oder nicht. Die Anforderung ist, dass ich zwei Sprachen in den Editiertext schreiben muss, ein Urdu und das andere ist Standard Englisch, jetzt ist das Problem in der Schriftart, da ich die Urdu Schriftart als Standard verwenden muss, habe ich setTypeface wie folgt verwendet:Android: Verwenden Sie zwei benutzerdefinierte Schriftarten für einen EditText
editText.setTypeface(englishFont);
aber das Problem ist, das Englisch in dieser Schrift ist nicht gut, in der Tat ist es kleiner als üblich für diese ich eine andere Schrift für Englisch verwenden, aber das schafft das Problem, ich die getText vom editText erhalten erkennen, die Urdu und Englisch Zeichen und dann spannableStringBuilder verwenden, um die Schriftart entsprechend wie folgt zu ändern:
if(Arrays.asList(urduCodes).contains(Integer.toHexString(text.charAt(i)).toUpperCase()))
{
System.out.println("different: "+text.charAt(i));
SpannableStringBuilder urduBLD;
urduBLD = new SpannableStringBuilder("");
urduBLD.append(edi.getText().charAt(i));
System.out.println("urduBLD: "+urduBLD);
urduBLD.setSpan(new StyleSpan(urduFont.getStyle()),urduBLD.length(),urduBLD.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
stringBuilder.append(urduBLD);
} else
{
System.out.println(text.charAt(i)+"-Code:"+(int)text.charAt(i)+"-"+Integer.toHexString(text.charAt(i)));
SpannableStringBuilder engBLD;
engBLD = new SpannableStringBuilder("");
engBLD.append(edi.getText().charAt(i));
System.out.println("engBLD: "+engBLD);
engBLD.setSpan(new StyleSpan(englishFont.getStyle()),engBLD.length(),engBLD.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
stringBuilder.append(engBLD);
}
B Damit wird das Problem nicht gelöst, der Text in editText bleibt gleich, keine Änderung in der Schrift. Ist das möglich oder nicht?
als warum nicht Sie zwei eidtText eine für urdhu und andere für Englisch @blogger –
vielleicht hilft: http://stackoverflow.com/questions/9618835/apply-two-different-font-styles-to-a-textview – Opiatefuchs
Da in der Aktivität nur ein EditText erforderlich ist, sollten beide Sprachen im selben EditText –