I have the following layout defined for one of my Activities:
<?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:开发者_Python百科layout_width="fill_parent">
<Button android:id="@+id/Tile" android:text="Tile"></Button>
</TableRow>
</TableLayout>
The layout renders almost correctly, the only problem is that my text box and my button aren't occupying the full width of their respective rows.
I've tried specifying fill_parent
for the layout width properties, but to no avail, they still only occupy roughly half of the screen.
Documentation overall for Android so far has been great, but there are a few scenarios like this one where I hit an invisible wall! Thanks for all the help!
Try using android:stretchColumns="0"
(when you define the TableLayout
) or what ever is the index of the column that you would want to stretch.
For more information - http://developer.android.com/guide/tutorials/views/hello-tablelayout.html
Use android:layout_width="match_parent"
in your tableRow views.
Now you have different possibilities in your TableLayout seting the parameter android:stretchColumns
to:
Value "*"
views will have same width and will fill the row occupying the same space
Value "0" or other integer
-> First or element corresponding with the integer in a row will fill the row. The other view will have width in a same way of wrap_content
Example with a tablelayout of 3 tableRow with 2 views each:
Without setting android:stretchColumns
:
[|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 |]
Try this in the definition of your TableRow :
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1">
精彩评论