Come faccio Visualizzazioni riempire l'intera larghezza del genitore nella mia app Android?
Domanda
ho il seguente schema definito per una delle mie attività:
<?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>
Il layout rende quasi correttamente, l'unico problema è che la mia casella di testo e il mio pulsante non stanno occupando l'intera larghezza delle rispettive righe.
Ho provato a specificare fill_parent
per le proprietà di larghezza di layout, ma senza alcun risultato, hanno ancora occupare solo circa la metà dello schermo.
Documentazione generale per Android finora è stato grande, ma ci sono alcuni scenari come questo in cui ho colpito un muro invisibile! Grazie per tutto l'aiuto!
Soluzione
Provare a utilizzare android:stretchColumns="0"
(quando si definisce la TableLayout
) o che cosa mai è l'indice della colonna che si vorrebbe allungare.
Per ulteriori informazioni - http://developer.android.com/ guida / tutorial / views / ciao-tablelayout.html
Altri suggerimenti
Usa android:layout_width="match_parent"
nelle viste TableRow.
Ora avete diverse possibilità nel TableLayout seting il parametro android:stretchColumns
a:
viste Value "*"
avranno stessa larghezza e riempirà la riga che occupa lo stesso spazio
Value "0" or other integer
-> Prima o elemento corrispondente con il numero intero in una fila riempirà la riga. L'altra vista avrà larghezza in uno stesso modo di wrap_content
Esempio con TableLayout di 3 TableRow con 2 visite ogni:
Senza android:stretchColumns
impostazione:
[|TextView|EditText| ]
[|TextView|EditText| ]
[|TextView|EditText| ]
Android: stretchColumns = "*"
[| TextView | EditText |]
[| TextView | EditText |]
[| TextView | EditText |]
Android: stretchColumns = "0"
[| TextView |EditText|]
[| TextView |EditText|]
[| TextView |EditText|]
Android: stretchColumns = "1"
[|TextView| EditText |]
[|TextView| EditText |]
[|TextView| EditText |]
Prova questo nella definizione del vostro TableRow:
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1">