2012-02-17 40 views
6

arasında büyük ölçüde değişir. Uygulamamda özel bir yazı tipi kullandığım birkaç TextView var. Ana düzeninde ortalanmış metni elde etmek için görünüm merkezli düzen çekimini verdim. O Sans yazı ile önizleyicide iyi görünüyor, ama ben yazı tipini değiştirdiğinizde metin aşağı kaydırılır gibi, sonuç bu gibi görünür:Özel yazı tipi boyutu, yazı tipleri

TextView with Sans http://i41.tinypic.com/1zemv4.png

:

TextView with Shifted Text http://i43.tinypic.com/m97hfl.png

bu karşılaştırıldığında

<FrameLayout android:id="@+id/Turn_ScoreA_Frame" android:padding="5dp" android:background="@color/teamA_secondary" android:layout_margin="5dp" android:layout_gravity="center" android:layout_height="50dp" android:layout_width="110dp"> 
    <android.view.View android:id="@+id/Turn_ScoreABG" android:background="@color/teamA_primary" android:layout_height="fill_parent" android:layout_width="fill_parent"></android.view.View> 
    <TextView android:id="@+id/Turn_ScoreA" android:includeFontPadding="false" android:text="5" android:layout_gravity="center" android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="32dp"></TextView> 
</FrameLayout> 

Ben fill_parent kullandığınızda bu da ortaya çıkar: Burada

o elemanı için xml olduğu metin yerçekimi merkezi ile, metin görünümünün layout_width ve yüksekliği için. Sadece TextView.SetTypeface kullanarak, bu düzenin kullanıldığı görünümün OnCreate öğesindeki özel Yazıyüzünü ayarlıyorum.

Buna neyin neden olabileceğini bilen var mı? Bu konuda bir şeyleri takip etmede sorun yaşıyorum.

Not olarak, margin_bottom'u -10dp'ye ayarlayarak çeşitli görünümlerde bu konu üzerinde çalıştım, ancak bunu kaldırmak istiyorum ve bu hack'in Bu, her neyse. Bu yazı tipi Anton, bu arada.

DÜZENLEME: Bu, metnin kabı için çok büyük olması sonucudur. Şey, Sans iyi uyuyor ve yeni yazı tipi ,'a sığacaktı ama ölçülen boyutu çok büyük. Umuyorum ki şu anki görülebilir boyutta kalması için bir yol bulmak ve kapsayıcının ortasına sığacak şekilde çok hacky hissetmeyecek bir yol bulmak =)

+0

Sanırım en azından bu sorunun kaynağını buldum. Bu elemanı çok daha büyük bir Düzenin içine koyarsam, düzgün bir şekilde ortalar. Bu yüzden, bunun ana öğenin içine sığamadığında bir öğe için varsayılan davranış olduğunu düşünüyorum. Sadece bu metnin gerçekte gösterdiğinden daha büyük olduğunu düşünüyor. Hala en iyi düzeltmenin ne olduğundan emin değilsiniz. – EdwardRowe

+0

Sorun, 'android: textSize = "32dp" metin görünümü, TextView'un yüksekliğinin 32dp'ye uygun olması için uygun olmaması veya textView yüksekliği daha büyük veya Metin boyutu daha az olması. – MKJParekh

+0

Yanıt için teşekkürler! Bence bu gerçek bir meşru çözüm için iki iyi seçenek. Ama şimdi, metnin neden onun boyutlarının sans ile karşılaştırıldığında çok farklı olduğunu düşündüğünü merak ediyorum. Bu numarayla çok fazla boş alan var. – EdwardRowe

cevap

0

Sizde var 3 seçenekleri

enter image description here

  1. text size
  2. FrameLayout
  3. yüksekliğini arttırın azalt Doğru
    Eğer bu tasarlanmıştır yazı özelliğini değiştiremez sığabilecek font değiştirme
  4. olduğu o uymuyor üstündeki boş alana sahip olur böyle bir yolu senin android:textSize="32dp"
android:layout_height="50dp" verilen