2012-12-19 8 views
6

Android'de biraz metin düzenini HTML'de float="right" gibi bir yere getirmeye çalışıyorum. Ekranımın belirli bir alanına gitmek için iki tane metin var. Ben (her iki uçta | kapsayan kabını gösterir) böyle sağ hizalanması bunlardan birini bir TextView sola hizalanması, ve bunlardan birini istiyoruz: - YaniAndroid'de metin süzgeci sağlayın

| First text item  label | 

Bu çok kolay geliyor: numaralı telefondan layout_alignParentRight="true" veya layout_gravity="right" olarak ayarlanmış iki TextView s ile yapabilirim. Ancak, soldaki metnin kalan alana sığmayacak kadar uzun olduğu durumlar da var. Bir RelativeLayout sayesinde sağ metni çakışacak, ama bu durumda iki hat halinde kırmak istiyorum: - Soldaki metin birden fazla satır üzerine akarsa, benzer

| This text is way too long | 
|      label | 

ve ben istiyorum sağ metin aynı satırda mümkünse sığacak şekilde: - bile s Android'de View hep dikdörtgen olduğundan, iki TextView ile bu son örnek çalışması imkansız gibi görünüyor

| This text doesn't fit on | 
| one line    label | 

Ben Özel bir Layout yazdı. Tüm metni bir TextView içine koymama izin vermek için bir Spannable kullanmayı düşündüm, ancak AlignmentSpan bir ParagraphStyle, bu yüzden etiketi sol taraftakiyle aynı çizgiye koyabiliyor gibi görünmüyor metin bu şekilde. Bunu başarmak için kullanabileceğim başka bir çeşit metin alanı var mı, yoksa tamamen farklı bir yöntem mi?

Şu anda metni HTML'ye koymam gerekecek ve WebView (görünüm öğesi listeye gitmek için harika değil) kullanmalı veya özel bir TextView benzeri bir araç çubuğu yazmam gerekecek gibi görünüyor .

+0

özel bir görünümle kabul var ... Üçüncü örnek ve basit RelativeLayout hmm ile olsa aynı anda çalışmak için ikinci bir örnek alınıyor? – toadzky

+0

Sorunun sonunda dediğim gibi, bu benim son çarem, ama eğer yapabilseydim bu maliyeti önlemek istiyorum. –

+0

, google I/O görüşmelerini romain kullanıcısı tarafından dinlerseniz, her zaman özel bir görünüm kullanmanızı önerir. size daha iyi performans verir ve büyük görünüm hiyerarşileri oluşturmadan çok fazla özelleştirme sağlar – toadzky

cevap

5

android:gravity="right" (layout_gravity ile aynı değil) ile aynı olana kadar android:layout_alignBottom ekleyin ve diğer metin görünümünün kimliğine bakın. Çok satırlı, doğru vb. Zaten sahip olduğunuzu varsayalım. Sırasıyla alignParentRight ve alignParentLeft'u koruyun. onlar İstersen hala çakışabilir dikdörtgen ise

Alternatif yol RelativeLayout (veya FrameLayout vs)

kullanarak, Açık olmak gerekirse, bu deneyin: android:layout_alignParentBottom="true" ile takas android:layout_alignBottom="@id..."sağ yan metin görünümü için .

+0

Bu, sol el metninin bir çizgiye sığdığı ve sağdaki metnin ihtiyaç duyduğu ikinci örneğim için çalışacak gibi görünmüyor sağda değil onun altına git. 'RelativeLayout' bildiğimden, metin bu durumda çakışacak gibi görünüyor. Kabul eder misin –

+0

Ah, en son örneğiniz hakkında düşünüyordum. Eğer layout_alignBottom = "@ id ..." ile "layout_alignParentBottom =" true "' yi doğru olana doğru değiştirirseniz ... –

+0

Hayır, hala çakışıyor. –