2012-03-30 17 views
23

ilişkin dikey TextView'un metnini Merkezleme ben bu bileşeni vardır:onun drawableLeft görüntüye

<TextView 
    android:id="@+id/item_name" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:drawableLeft="@drawable/icon" /> 

drawableLeft özelliğinde görüntü metnin yazı daha büyük, bu yüzden metin ilişkili olarak dikey merkezli istiyorum resme Bu efekti nasıl alabilirim?

cevap

79

"Yerçekimi" notu, bunun yerçekimi yerçekimi ile karıştırılmaması gerektiğini, yerçekiminin yer metininin tamamını hareket ettirirken, yer çekimi metnin metin görünümünde hareket etmesini sağlar.

<TextView 
    android:id="@+id/item_name" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:drawableLeft="@drawable/icon" 
    android:gravity="center_vertical" /> 
+1

Teşekkürler, daha önce layout_gravity çalıştım ve işe yaramadı, fark hakkında bilmiyordum, ama şimdi tamam. – user940016

+0

çok teşekkür ederim ... benim için de çalışıyor – xFighter

0

Hem Drawable ve RelativeLayout içine TextView ve TextView üzerinde layout_alignBaseline özellik kullanmak yerleştirmelidir.

Ayrıca sadece iki öğe yer verebilir, Drawable ve TextView senin TextView üzerinde layout_gravity="center_vertical" bir horizontal yönlendirme ile LinearLayout bir iç ve layout_height="wrap_content" ve kullanın.

android:includeFontPadding="false" 
+0

android: yerçekimi çok daha temiz ve daha hızlı bir yöntem olurdu, ancak bu size görüntüleri anında yeniden boyutlandırmak için biraz daha esneklik sağlar. – Merkidemis

+0

Bunun için teşekkürler Simge küçük olduğu için drawableLeft kullanmak istemedim ve bunun yerine bir ImageButton istedim. Cevabını gelene kadar kenar boşlukları karıştırıyordum. Upvoted. – span

27

metin aksanlar hakkında, sadece android:includeFontPadding="false" deneyin. Bu TextView ekstra üst ve alt dolgu kaldıracaktır. android:gravity="center_vertical"'a gelince, kodum üzerinde hiçbir etkisi yoktur.

+6

Teşekkürler, 'android: yerçekimi' ile birlikte bu çözüldü benim için! – joscarsson

+2

Evet, bana da yardımcı oluyor! Çok teşekkür ederim! –

0

umurunda yoksa: yerçekimi ayarlamaya ek olarak, bu da eşitsiz olabilen, textview üstünde ve altındaki padding azaltarak bazı durumlarda uyum yardımcı olabilir

İlgili konular