Poiché il colon è una forma così semplice, è possibile crearlo da elementi più piccoli, viste di testo, primitive grafiche o solo due viste, in un layout lineare verticale.
Ad esempio, iniziare con la creazione di un semplice punto come un disegnabile forma (dot.xml nella cartella drawable):
<?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>
creare una vista con questo drawable come sfondo (clock_dot.xml nel layout cartella):
<?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 due punti per creare il carattere due punti (clock_colon.xml nella cartella layout):
<?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>
creare una visualizzazione di testo con due cifre (clock_digits.xml):
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:textColor="#ccc"
android:textSize="24sp"
android:text="12" />
Poi costruire un layout timer dal layout cifre e il layout del colon:
<?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>
si ottiene qualcosa di simile:
fonte
2016-03-13 01:05:51
Dipende dal tuo XML. Postalo – Nabin
prova a controllare questo: http://stackoverflow.com/questions/22826411/how-do-i-align-text-view-to-be-in-center-vertically-of-two-numberpickers –
Se quello è come il font rende il glifo ':', quindi non c'è molto che puoi fare senza separarlo in più viste. – Karakuri