2010-03-08 11 views
12

benim Faaliyetleri biri için tanımlanan aşağıdaki düzen:Görünümlerimi, Android uygulamamda ebeveynlerinin tam genişliğini doldurabilir miyim?

<?xml version="1.0" encoding="utf-8"?> 
<TableLayout android:id="@+id/TableLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> 
    <TableRow android:id="@+id/TableRow01" android:layout_height="wrap_content" android:layout_width="fill_parent"> 
     <EditText android:text="Resource Name" android:id="@+id/ResourceName" android:lines="1" android:isScrollContainer="false"></EditText> 
    </TableRow> 
    <TableRow android:id="@+id/TableRow02" android:layout_height="wrap_content" android:layout_width="fill_parent"> 
     <Button android:id="@+id/Tile" android:text="Tile"></Button> 
    </TableRow> 
</TableLayout> 

düzeni neredeyse şekilde oluşturuluyor, tek sorun benim metin kutusu ve benim düğme kendi sıralar tam genişliği işgal olmamasıdır.

Mizanpaj genişliği özellikleri için fill_parent belirtmeyi denedim, ancak boşuna hiçbir durumda, hala ekranın yaklaşık yarısını ele geçirdiler.

Şu ana kadar Android için genel dokümanlar harika oldu, ancak görünmez bir duvara çarptığım birkaç senaryo var! Yardımın için teşekkürler!

cevap

38

android:stretchColumns="0" (TableLayout numaralı telefonu tanımladığınızda) ya da germek istediğiniz sütunun ne olduğu hiç kullanılmamış. Daha fazla bilgi için

-

+3

Ah API o kadar ideal bir değer "*" (ya da 0 ile başlayan sütun virgülle ayrılmış liste) çalışmıştır. Teşekkürler! –

9

http://developer.android.com/guide/tutorials/views/hello-tablelayout.html senin TableRow tanımında bu deneyin: TableRow görünümlerinde

<TableLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:stretchColumns="1"> 
+1

0'dan başlayan sütunlar dizinine benziyor, ama evet, işte bu! Özür dilerim, keşke iki doğru cevabı seçebilseydim;) –

6

kullanın android:layout_width="match_parent".

Şimdi parametreyi android:stretchColumns seting sizin TableLayout farklı ihtimal vardır: aynı genişliğe sahip olacak ve aynı yeri

Value "0" or other integer işgal satır dolduracaktır

Value "*" görünümleri -> İlk veya eleman ile ilgili Bir satırdaki tam sayı satırı dolduracaktır. android:stretchColumns ayarlamadan

: diğer görünüm

Örnek 2 kez her biri 3 TableRow bir TableLayout ile wrap_content bir aynı şekilde bir genişliğe sahip olacaktır

[|TextView|EditText|   ] 
[|TextView|EditText|   ] 
[|TextView|EditText|   ] 

robot: stretchColumns = "*"

[| TextView | EditText |] 
[| TextView | EditText |] 
[| TextView | EditText |] 

robot: stretchColumns = "0"

[| TextView  |EditText|] 
[| TextView  |EditText|] 
[| TextView  |EditText|] 

robot: stretchColumns = "1"

[|TextView|  EditText |] 
[|TextView|  EditText |] 
[|TextView|  EditText |] 
İlgili konular