如何在Android中展开TableLayout的中间TableRow?
我的 Android 应用程序中有以下布局:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout android:id="@+id/widget41"
android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical">
<tablerow>
<Button android:id="@+id/button_when" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:padding="10px"
android:text="When">
</Button>
</tablerow>
<tablerow>
<EditText android:id="@+id/text_description" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:padding="10px"
android:text="What happened?" android:textSize="18sp">
</EditText>
</tablerow>
<tablerow>
<Button android:id="@+id/button_location" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:padding="10px"
android:text="Location">
</Button>
</tablerow>
如何制作布局,以便中间的 EditText 扩展以填充屏幕的整个空间,而不是被第一个和第三个项目占据?
I have the following layout in my Android app:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout android:id="@+id/widget41"
android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical">
<tablerow>
<Button android:id="@+id/button_when" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:padding="10px"
android:text="When">
</Button>
</tablerow>
<tablerow>
<EditText android:id="@+id/text_description" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:padding="10px"
android:text="What happened?" android:textSize="18sp">
</EditText>
</tablerow>
<tablerow>
<Button android:id="@+id/button_location" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:padding="10px"
android:text="Location">
</Button>
</tablerow>
How can I make my layout so that the in the middle, the one with the EditText, expands to fill the entire space of the screen not taken up by the first and third items?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这比 Varundroid 的建议要简单得多。
android.widget.TableRow
是android.widget.LinearLayout
的子类,因此采用布局可以采用的所有参数。因此,这可以解决问题:请注意,当需要扩展时,通常需要设置
android:layout_weight
。This can be done much simpler then the suggestion from Varundroid.
android.widget.TableRow
is a subclass fromandroid.widget.LinearLayout
and therefore take all parameter a layout can take. So this will do the trick:Note that setting
android:layout_weight
is usually needed when expanding is desired.这很简单。
有两种方法
android:layout_height="space which has was left"
将剩余的空间分配给中间行另一种方法是更改 android:layout_height 直到它覆盖整个屏幕
我个人的意见是选择第一个,因为不同设备的屏幕尺寸可能有所不同,因此您应该谨慎行事。
顺便问一下,你确定你的代码可以工作吗?因为您的
t
在标记
中是小写字母,而它应该是
。有时,如果您不在每个标记中传递android:layout_height 和 android:layout_width
,那么它可能会导致布局错误。谨慎行事,否则您的应用程序将会出现问题。
我希望它会有所帮助。
It is very simple.
There are two ways
android:layout_height="space which has been left"
Another way is to change android:layout_height until its cover the whole screen
My personal opinion is to go with 1st one because screen sizes can be varied device to device so you should play safe.
By the way are you sure your code is working? because your
t
is in small letter in your tag<tablerow>
wheres it should be<TableRow>
. and sometine if you won't passandroid:layout_height and android:layout_width
in every tag then it could cause an error in your layout.Play safe else your app will be turned out to be buggy.
I hope it will help.