2012-12-21 36 views
5

GridLayout'u kullanmaya çalışıyorum ve düzendeki boşluğu doldurmak için satırları (TextViews ile) genişletmede sorun yaşıyorum.Satırlar nasıl genişletilebilir?

Dikey Resim (satırlar genişletmek gereken yerde notu kırmızı çizgidir): enter image description here

Yatay Resim:
enter image description here

main.xml:

<?xml version="1.0" encoding="utf-8"?> 
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:columnCount="2" 
    android:useDefaultMargins="true" > 
<TextView 
    style="@android:style/TextAppearance.Large" 
    android:layout_columnSpan="2" 
    android:layout_gravity="center_horizontal" 
    android:padding="8dp" 
    android:text="Which means: lacking in originality as to be obvious and boring." /> 
<Space android:layout_height="24dp" android:layout_columnSpan="2" /> 
<TextView style="@style/AnswerLetter" android:text="A." /> 
<TextView style="@style/AnswerChoice" android:text="ascetic" /> 
<TextView style="@style/AnswerLetter" android:text="B." /> 
<TextView style="@style/AnswerChoice" android:text="banal" /> 
<TextView style="@style/AnswerLetter" android:text="C." /> 
<TextView style="@style/AnswerChoice" android:text="contraption" /> 
<TextView style="@style/AnswerLetter" android:text="D." /> 
<TextView style="@style/AnswerChoice" android:text="dominion" /> 
<TextView style="@style/AnswerLetter" android:text="E." /> 
<TextView style="@style/AnswerChoice" android:text="enervation" /> 
</GridLayout> 

styles.xml :

Sen ekstra alan olduğunu doldurmak amacıyla tüm Çocuğunuz subviews (yükseklik) büyümek istiyorum, ama bu bir GridLayout içeride mümkün değildir
<style name="AnswerLetter" parent="@android:style/TextAppearance.Medium"> 
    <item name="android:layout_gravity">right</item> 
    <item name="android:paddingLeft">32dp</item> 
    <item name="android:textStyle">bold</item> 
    <item name="android:gravity">center_vertical|center_horizontal</item> 
</style> 
<style name="AnswerChoice" parent="@android:style/TextAppearance.Large"> 
    <item name="android:layout_gravity">left</item> 
    <item name="android:paddingLeft">32dp</item> 
    <item name="android:gravity">left</item> 
</style> 
+0

kullanın "[değiştir]" Sorunuzun bu kodu eklemek. – Sam

+0

tablonun tamamını kırmızı çizgiye mi yoksa tablodaki metni kırmızı çizgiye mi genişletmek istiyorsunuz? – Jaguar

+0

Sadece tüm Kırmızı çizgi doldurmak için AnswerLetter, AnswerChoice ile TextViews genişletmek istiyorum. – AG1

cevap

6

:

GridLayout ilkesine destek sağlamaz

Ağırlık olarak tanımlanan ağırlık. Genel olarak, birden fazla satır veya sütun arasındaki önemsiz oranlarda fazla alanı dağıtmak için bir GridLayout yapılandırmak mümkün değildir ... Bir satır veya sütun fazla boşluk dağılımı üzerinde tam kontrol için; ilişkili hücre grubundaki bileşenleri tutmak için bir LinearLayout subview kullanıyoruz."

deneyin bir subview lineer düzeni ekleme ve (böylece eşit genişletmek) aynı değere tüm çocukların ağırlık özellikleri ayarlamayla.

Benzer soru: GridLayout (not GridView) how to stretch all children evenly

3

i doğru anlamak - Bu düzen sorununuzu çözebilir GridView sen LinearLayout kullanabilmesi, senin için bu düzeni yapmak, kolon Atma Yüksekliği strech ihtiyacı Maybye olamaz.. Bazı dolgu ayarları

horisontal vertial

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    android:id="@+id/LinearLayout1" 
    android:orientation="vertical" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <TextView 
     style="@android:style/TextAppearance.Large" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:padding="8dp" 
     android:text="Which means: lacking in originality as to be obvious and boring." /> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_weight="1" 
     android:gravity="center_vertical" 
     android:layout_height="wrap_content"> 
     <TextView 
      style="@style/AnswerLetter" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:gravity="center_vertical" 
      android:text="A." /> 
     <TextView 
      style="@style/AnswerChoice" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:gravity="center_vertical" 
      android:text="ascetic" /> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:gravity="center_vertical" 
     android:layout_weight="1" 
     android:layout_height="wrap_content"> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:gravity="center_vertical" 
      style="@style/AnswerLetter" 
      android:text="B." /> 
     <TextView 
      style="@style/AnswerChoice" 
      android:layout_width="match_parent" 
      android:gravity="center_vertical" 
      android:layout_height="match_parent" 
      android:text="banal" /> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:gravity="center_vertical" 
     android:layout_weight="1" 
     android:layout_height="wrap_content"> 
     <TextView 
      style="@style/AnswerLetter" 
      android:layout_width="wrap_content" 
      android:gravity="center_vertical" 
      android:layout_height="match_parent" 
      android:text="C." /> 
     <TextView 
      style="@style/AnswerChoice" 
      android:layout_width="match_parent" 
      android:gravity="center_vertical" 
      android:layout_height="match_parent" 
      android:text="contraption" /> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:gravity="center_vertical" 
     android:layout_weight="1" 
     android:layout_height="wrap_content"> 
     <TextView 
      style="@style/AnswerLetter" 
      android:layout_width="wrap_content" 
      android:gravity="center_vertical" 
      android:layout_height="match_parent" 
      android:text="D." /> 
     <TextView 
      style="@style/AnswerChoice" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:gravity="center_vertical" 
      android:text="dominion" /> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:gravity="center_vertical" 
     android:layout_weight="1" 
     android:layout_height="wrap_content"> 
     <TextView 
      style="@style/AnswerLetter" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:gravity="center_vertical" 
      android:text="E." /> 
     <TextView 
      style="@style/AnswerChoice" 
      android:layout_width="match_parent" 
      android:gravity="center_vertical" 
      android:layout_height="match_parent" 
      android:text="enervation" /> 
    </LinearLayout> 
</LinearLayout>