TableLayout里的元素为什么宽度没有占满父控件

wangdong20 2012-10-05 03:35:45
本想把手机屏幕剩下的部分用ScrollView和TableLayout占满
所以使用了LinearLayout,分别定义weight,ScrollView是0.6,TableLayout是0.4
以下是部分代码

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ScrollView
android:id="@+id/result_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.6">
<LinearLayout
android:id="@+id/linear_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:text="猜的数字"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
/>
<TextView
android:textSize="18sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
/>
<TextView
android:textSize="18sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="B"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"/>

</RelativeLayout>

</LinearLayout>

</ScrollView>
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_weight="0.4">
<TableRow
android:gravity="center">
<Button
android:id="@+id/btn_0"

android:text="0"
/>
<Button
android:id="@+id/btn_1"

android:text="1"
/>
<Button
android:id="@+id/btn_2"

android:text="2"
/>
<Button
android:id="@+id/btn_3"

android:text="3"
/>
<Button
android:id="@+id/btn_4"

android:text="4"
/>
</TableRow>
<TableRow
android:gravity="center">
<Button
android:id="@+id/btn_5"

android:text="5"
/>
<Button
android:id="@+id/btn_6"

android:text="6"
/>
<Button
android:id="@+id/btn_7"

android:text="7"
/>
<Button
android:id="@+id/btn_8"

android:text="8"
/>
<Button
android:id="@+id/btn_9"

android:text="9"
/>
</TableRow>

</TableLayout>
</LinearLayout>

但是后面生成的结果不对,TableLayout两排10个button只占手机屏幕宽度的一部分
我想的是占满全手机屏幕宽度,手机屏幕高度也没有完全沾满
下面是完整的xml代码,那位大侠能否测试下,就能看到我说的情况了
在此先谢过了,中间有一部分我想实现动画效果,所以只生成了ID,并没有添加实际控件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@color/game_bg">

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/atemptComments"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:textSize="18sp"
android:text="@string/default_atempt"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
/>
<TextView
android:id="@+id/costTime"
android:layout_marginTop="10dp"
android:textSize="18sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/default_time"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
/>
<Button
android:id="@+id/back"
android:text="返回"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"/>
</RelativeLayout>
<LinearLayout
android:id="@+id/num_generator"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

</LinearLayout>


<LinearLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ScrollView
android:id="@+id/result_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.6">
<LinearLayout
android:id="@+id/linear_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:text="猜的数字"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
/>
<TextView
android:textSize="18sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
/>
<TextView
android:textSize="18sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="B"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"/>

</RelativeLayout>

</LinearLayout>

</ScrollView>
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_weight="0.4">
<TableRow
android:gravity="center">
<Button
android:id="@+id/btn_0"

android:text="0"
/>
<Button
android:id="@+id/btn_1"

android:text="1"
/>
<Button
android:id="@+id/btn_2"

android:text="2"
/>
<Button
android:id="@+id/btn_3"

android:text="3"
/>
<Button
android:id="@+id/btn_4"

android:text="4"
/>
</TableRow>
<TableRow
android:gravity="center">
<Button
android:id="@+id/btn_5"

android:text="5"
/>
<Button
android:id="@+id/btn_6"

android:text="6"
/>
<Button
android:id="@+id/btn_7"

android:text="7"
/>
<Button
android:id="@+id/btn_8"

android:text="8"
/>
<Button
android:id="@+id/btn_9"

android:text="9"
/>
</TableRow>

</TableLayout>
</LinearLayout>



</LinearLayout>
...全文
483 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangdong20 2012-10-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
将以下代码中ImageView的icon1、icon2、icon3分别改成你的图片。


XML code

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="f……
[/Quote]
感谢楼上的回答,果然好使了
膜拜中
AMinfo 2012-10-05
  • 打赏
  • 举报
回复
将以下代码中ImageView的icon1、icon2、icon3分别改成你的图片。


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<LinearLayout android:id="@+id/layout01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center"
android:gravity="center">

<TextView android:id="@+id/TextView01"
android:text="TextView01"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>

<TextView android:id="@+id/TextView02"
android:text="TextView02"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>

<TextView android:id="@+id/TextView03"
android:text="TextView03"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>

</LinearLayout>

<LinearLayout android:id="@+id/layout02"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center"
android:gravity="center">

<ImageView android:id="@+id/ImageView01"
android:src="@drawable/icon1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>

<ImageView android:id="@+id/ImageView02"
android:src="@drawable/icon2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>

<ImageView android:id="@+id/ImageView03"
android:src="@drawable/icon3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>

<LinearLayout android:id="@+id/layout03"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="horizontal"
android:layout_gravity="center"
android:gravity="center">

<ScrollView android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<TextView android:id="@+id/ScrollView_TextView01"
android:text="ScrollView第一行:abcd\nScrollView第二行:efgh\nScrollView第三行:ijkl\nScrollView第四行:mnop\nScrollView第五行:qrst\nScrollView第六行:uvwx\nScrollView第七行:yz\nScrollView第八行:这里是ScrollView里面的TextView的内容,这里是ScrollView里面的TextView的内容,,这里是ScrollView里面的TextView的内容,,这里是ScrollView里面的TextView的内容,,这里是ScrollView里面的TextView的内容,,这里是ScrollView里面的TextView的内容,,这里是ScrollView里面的TextView的内容,"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>

</ScrollView>

</LinearLayout>

<LinearLayout android:id="@+id/layout04"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center"
android:gravity="center">

<Button android:id="@+id/Button01"
android:text="1"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5px"/>

<Button android:id="@+id/Button02"
android:text="2"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5px"/>

<Button android:id="@+id/Button03"
android:text="3"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5px"/>

<Button android:id="@+id/Button04"
android:text="4"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5px"/>

<Button android:id="@+id/Button05"
android:text="5"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5px"/>

</LinearLayout>

<LinearLayout android:id="@+id/layout05"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center"
android:gravity="center">

<Button android:id="@+id/Button06"
android:text="6"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5px"/>

<Button android:id="@+id/Button07"
android:text="7"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5px"/>

<Button android:id="@+id/Button08"
android:text="8"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5px"/>

<Button android:id="@+id/Button09"
android:text="9"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5px"/>

<Button android:id="@+id/Button10"
android:text="10"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5px"/>

</LinearLayout>

<LinearLayout android:id="@+id/layout06"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center"
android:gravity="center">

<Button android:id="@+id/Button11"
android:text="11"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5px"/>

<Button android:id="@+id/Button12"
android:text="12"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5px"/>

</LinearLayout>

</LinearLayout>
zhongyuanceshi 2012-10-05
  • 打赏
  • 举报
回复
每个按钮用weight=1试试
wangdong20 2012-10-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
你把每个Button添加android:layout_windth="fill_parents"试试
[/Quote]
照你说的做了,貌似不管用
每个按钮的宽度仅仅刚好包含一个数字,达不到我想的5个按钮能占据手机宽度的效果
如意网络科技 2012-10-05
  • 打赏
  • 举报
回复
你把每个Button添加android:layout_windth="fill_parents"试试
wangdong20 2012-10-05
  • 打赏
  • 举报
回复
我想要的界面如下图所示
最上面3个是TextView
往下的3个是图片
再往下是ScrollView
最后是button
我所用的界面button不能如图中所示,占满手机屏幕的宽以及剩下的屏幕空间

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧