2015-08-14 36 views
12

kolon dikey merkezini nasıl yapabilirim TextView gösteren zamanım var. Zaman her saniye güncellenir.<a1> TextView</ a1>

DIN yazı tipini kullandım. Dikey hizalamak için TextView ayarını ortada tuttum. Kolon neden başlangıç ​​çizgisine hizalanır? Bu sorunu nasıl çözecek?

enter image description here


yazı kolon karakteri nasıl oluşturduğunu varsayılan yöntemdir Güncelleme

   <TextView 
        android:id="@+id/time" 
        android:layout_width="wrap_content" 
        android:layout_height="48px" 
        android:layout_below="@id/temperature" 
        android:layout_centerHorizontal="true" 
        android:layout_marginBottom="-5px" 
        android:fontFamily="DIN" 
        android:gravity="center" 
        android:textColor="@color/white" 
        android:textSize="39px" /> 
+1

XML'inize bağlıdır. – Nabin

+1

'u şu şekilde kontrol et: http://stackoverflow.com/questions/22826411/how-do-i-align-text-view-to-be-in-center-vertically-of-two-numberpickers –

+1

Eğer bu font, ':' glifi nasıl işlediğidir, sonra birden çok görünüme ayırmadan yapabileceğiniz çok şey yoktur. – Karakuri

cevap

3

. Kolonlar için ayrı TextView'ler oluşturmadan, bunu değiştirebilmenin hiçbir yolu yoktur. Alternatif olarak, farklı bir yazı tipi kullanabilir ve diğer yazı tiplerinden herhangi birinin kolon karakterini merkeze aldığını kontrol edebilirsiniz. Bunu yapmak için aşağıdakileri kullanın:

android:fontFamily="sans-serif"   // roboto regular 
android:fontFamily="sans-serif-light"  // roboto light 
android:fontFamily="sans-serif-condensed" // roboto condensed 
android:fontFamily="sans-serif-thin"  // roboto thin (android 4.2) 
android:fontFamily="sans-serif-medium" // roboto medium (android 5.0) 

kullanılabilecek yazı tiplerinin daha iyi anlatabilmek için, official documentation kontrol edebilir.

Umut bu yardımcı olur :)

3

bir seçenek 5 farklı TextView'lar içine bütün TextView bölmek ve sayılarla olanlar android:layout_marginTop="3px" eklemek olacaktır.

2

Kolon çok basit bir şekil olduğundan, dikey doğrusal düzende metin görünümleri, grafik ilkeleri veya yalnızca iki görünümden daha küçük öğelerden oluşturabilirsiniz.

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="oval"> 
    <solid android:color="#ccc"/> 
</shape> 

düzeninde arka (clock_dot.xml olarak bu çekilebilir bir görünüm oluşturun:

Örneğin, bir şekil çekilebilir (çekilebilir klasörde dot.xml) basit nokta oluşturarak başlangıç klasörü):

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:orientation="vertical" 
      android:layout_gravity="center_vertical" 
      android:gravity="center_vertical" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent"> 
    <include layout="@layout/clock_dot"/> 
    <include layout="@layout/clock_dot"/> 
</LinearLayout> 
:

<?xml version="1.0" encoding="utf-8"?> 
<View xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="3sp" 
    android:layout_height="3sp" 
    android:background="@drawable/dot" 
    android:layout_margin="3sp" 
    android:layout_weight="0" /> 

Stack iki nokta düzeni klasöründe (clock_colon.xml) kolon karakteri oluşturmaya

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:orientation="horizontal" 
      android:gravity="center_vertical" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"> 
    <include layout="@layout/clock_digits"/> 
    <include layout="@layout/clock_colon"/> 
    <include layout="@layout/clock_digits"/> 
    <include layout="@layout/clock_colon"/> 
    <include layout="@layout/clock_digits"/> 
</LinearLayout> 

Böyle bir şey olsun: Sonra basamak düzeni ve kolon düzenden zamanlayıcı düzen oluşturmak

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="0" 
    android:textColor="#ccc" 
    android:textSize="24sp" 
    android:text="12" /> 

:

iki basamağı (clock_digits.xml) içeren bir metin görünüm oluşturun

Screen shot of timer

+0

Sonunda başka bir yazı tipi kullanıyorum. ama çok teşekkürler. sen de ideal birisin. – smallTong

İlgili konular