2012-08-05 24 views
7

Uygulama adı ve geçerli sürümü ile bir Dize görüntülemek istiyorum. Uygulama adı İbranice'dedir, bazı durumlarda İbranice metni sayısal değerle birleştirdiğimde sayısal değer çevrilir. Örneğin: uygulama sürümü 1.0, emülatörde 0,1 olarak gösteriliyor, Android İbranice RTL Sayısal Değeri Dize Saygısız

cevap

10

Android bidi algoritmasında bir hataya benziyor. sayıların etrafında soldan sağa işaretleri eklemeyi deneyin:

versionTextView.setText("אפליקציה גרסה " 
    + "\u200e" 
    + this.getResources().getString(R.string.app_version) 
    + "\u200e" 
); 

(. Bu çalışırsa, sen ikincisini ortadan kaldırmak mümkün olabilir)

+0

içindeki özel karakterlerin yönünü düzeltecek. Teşekkürler, bu çalışır ama '\ u200e' dizgisine bir garip char ekler – jkigel

+0

@jkigel bidi algoritması hatası üstünde bir yazı tipi sorunu. Önerebileceğim tek şey farklı bir yazı tipi denemek. Bu konuda kontrol sahibi olmak için kendi yazı tipini uygulamanızla paketlemeniz gerekebilir. İbranice için bazı ücretsiz fontlar var. Ezra SIL klasik bir görünüme sahip mükemmel bir fonttur. Basit bir web araması ile birçok başkalarını bulabilirsiniz. –

+1

Teşekkürler! Bunu deneyeceğim – jkigel

0

Ben tou ile çıkış dize stil gerektiğini düşünüyorum Bir CSS dir = "RTL" etiketini kullanarak - bu sayıları ve İbranice