转自:http://www.cnblogs.com/ghj1976/archive/2011/04/21/2023850.html

布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent"><TableLayout android:layout_width="match_parent"android:layout_height="match_parent"><TableRow><EditText android:id="@+id/et_led" android:layout_width="fill_parent"android:digits="1234567890.+-*/=%\n\t()" android:text=""android:layout_span="4" /></TableRow><TableRow><Button android:text="(" android:id="@+id/btn_LeftParenthesis"></Button><Button android:text=")" android:id="@+id/btn_RightParenthesis"></Button><Button android:text="*" android:id="@+id/btn_x"></Button><Button android:text="back" android:id="@+id/btn_back"></Button></TableRow><TableRow><Button android:text="7" android:id="@+id/btn_7"></Button><Button android:text="8" android:id="@+id/btn_8"></Button><Button android:text="9" android:id="@+id/btn_9"></Button><Button android:text="%" android:id="@+id/btn_mod"></Button></TableRow><TableRow><Button android:text="4" android:id="@+id/btn_4"></Button><Button android:text="5" android:id="@+id/btn_5"></Button><Button android:text="6" android:id="@+id/btn_6"></Button><Button android:text="/" android:id="@+id/btn_div"></Button></TableRow><TableRow><Button android:text="1" android:id="@+id/btn_1"></Button><Button android:text="2" android:id="@+id/btn_2"></Button><Button android:text="3" android:id="@+id/btn_3"></Button><Button android:text="-" android:id="@+id/btn_sub"></Button></TableRow><TableRow><Button android:text="0" android:id="@+id/btn_0"></Button><Button android:text="." android:id="@+id/btn_dot"></Button><Button android:text="+" android:id="@+id/btn_plus"></Button><Button android:text="=" android:id="@+id/btn_equal"></Button></TableRow></TableLayout></LinearLayout>

布局效果:

显然这不能满足我们的期望,下面我们演示 使用 android:stretchColumns 来自动拉伸

我们这里简单的给 TableLayout 增加一个属性 android:stretchColumns="*" 表示所有列都要自动拉伸,以便适应屏幕宽度。

布局效果

它的值即可以是数字,也可以是*,注意数字是从0开始的,即:android:stretchColumns="1" 是设置 TableLayout所有行的第二列为扩展列。

上面我们会看到 第四列的按钮比其他列的按钮要宽,如果我们想都一样宽如何办呢?

一个简单办法:

在自动拉伸的基础上,把每一列的宽度都设置成一样,比如下面的代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent"><TableLayout android:layout_width="match_parent"android:layout_height="match_parent"        android:stretchColumns="*"><TableRow><EditText android:id="@+id/et_led" android:layout_width="fill_parent"android:digits="1234567890.+-*/=%\n\t()" android:text=""android:layout_span="4" /></TableRow><TableRow><Button android:text="(" android:id="@+id/btn_LeftParenthesis"android:layout_width="1dip"></Button><Button android:text=")" android:id="@+id/btn_RightParenthesis"android:layout_width="1dip"></Button><Button android:text="*" android:id="@+id/btn_x"android:layout_width="1dip"></Button><Button android:text="back" android:id="@+id/btn_back"android:layout_width="1dip"></Button></TableRow><TableRow><Button android:text="7" android:id="@+id/btn_7"></Button><Button android:text="8" android:id="@+id/btn_8"></Button><Button android:text="9" android:id="@+id/btn_9"></Button><Button android:text="%" android:id="@+id/btn_mod"></Button></TableRow><TableRow><Button android:text="4" android:id="@+id/btn_4"></Button><Button android:text="5" android:id="@+id/btn_5"></Button><Button android:text="6" android:id="@+id/btn_6"></Button><Button android:text="/" android:id="@+id/btn_div"></Button></TableRow><TableRow><Button android:text="1" android:id="@+id/btn_1"></Button><Button android:text="2" android:id="@+id/btn_2"></Button><Button android:text="3" android:id="@+id/btn_3"></Button><Button android:text="-" android:id="@+id/btn_sub"></Button></TableRow><TableRow><Button android:text="0" android:id="@+id/btn_0"></Button><Button android:text="." android:id="@+id/btn_dot"></Button><Button android:text="+" android:id="@+id/btn_plus"></Button><Button android:text="=" android:id="@+id/btn_equal"></Button></TableRow></TableLayout></LinearLayout>

这时候的效果就成了:

注意比起最初的就多了2个设置

android:layout_width="1dip" 和  android:stretchColumns="*"

转载于:https://www.cnblogs.com/tc310/p/3958079.html

Android 使用 TableLayout 布局拉伸宽度相关推荐

  1. Android之TableLayout表格布局

    1.相关属性 1.1.常用属性android:collapseColumns 设置需要被隐藏的列的序列号android:shrinkColumns 设置允许被收缩的列的序列号android:stret ...

  2. 整理:Android apk 框架 布局 集锦

    2019独角兽企业重金招聘Python工程师标准>>> 看到好的技术教程就想分享一下,不喜勿喷!谢谢配合,仅供菜鸟学习研究(^o^)/~ 友情推荐<爱加密>Android ...

  3. Android应用开发(1)---Android五大UI布局的特有属性

    Android五大UI布局的特有属性 Android五大UI布局 1. LinearLayout 线性布局 2. RelativeLayout 相对布局 3. FrameLayout 帧布局,空白布局 ...

  4. Android常见界面布局(详细介绍)

    一.View视图 所有的UI元素都是通过View与ViewGroup构建的,对于一个Android应用的用户界面来说,ViewGroup作为容器盛装界面中的控件,它可以包含普通的View控件,也可以包 ...

  5. Android常见页面布局

    在Android应用程序中,界面由布局和控件组成.布局如框架,控件如砖瓦. View控件 Android所有的UI元素都是通过View控件和ViewGroup容器构建的.在一个应用程序中ViewGro ...

  6. android布局置顶_[置顶] Android系统五大布局详解Layout

    我们知道Android系统应用程序一般是由多个Activity组成,而这些Activity以视图的形式展现在我们面前,视图都是由一个一个的组件构成的.组件就是我们常见的Button.TextEdit等 ...

  7. android的五大布局(layout)

    Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建 筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是LinearLa ...

  8. android 动态绘制布局,Android代码和绘制曲线中按钮和绘图板的动态布局

    时间: 2019年1月11日 本文向您介绍Android代码中的按钮和绘图板的动态布局和绘制曲线,主要包括示例android 动态绘制曲线,应用技巧,基本知识和知识android 动态绘制曲线,包括A ...

  9. Android页面的布局

    1. Android的基础布局 LinearLayout 线性布局 RelativeLayout 相对布局 TableLayout 表格布局 FrameLayout 帧布局(框架布局) Constra ...

最新文章

  1. ckc交易什么意思_限价委托是什么意思?有限制的委托交易
  2. Ubuntu16.04 安装chromedriver
  3. 常用命令之------tcpdump
  4. java转换工具类_Java数据转换工具类
  5. UVA 10129 Play on Words
  6. media encoder中文2022已上线
  7. 用VSCode写IEEE论文
  8. windows编译opencv+opencv_contrib 以及解决cmake下载boostdesc_bgm等文件失败问题
  9. android apk加密技术,android apk 自我保护技术-加密apk
  10. 知识产权管理系统 开源_当前的知识产权格局如何影响开源
  11. go-http server使用hijack接管连接的管理
  12. 业务流程优化的三点思考
  13. 精美UI静态界面欣赏
  14. 《linux内核中断》之 法外狂徒张三删库跑路
  15. vue 手写图片左右跑马灯 效果
  16. A02-HTML5入门
  17. 真正的自由是节制欲望自律简朴地去生活
  18. Android 上网本上使用3G上网卡的可行性
  19. 中国科学院大学计算机研究生拟录取名单,中国科学院大学2017年硕士研究生公开招考拟录取名单公示(46)...
  20. 2022. 12 青少年软件编程(C 语言) 等级考试试卷(四级)

热门文章

  1. 中南大学 科学计算和MATLAB 初级语言学习
  2. 数据挖掘、数据分析、人工智能及机器学习课程资源
  3. 社区发现(二)--GN
  4. Java基础类冒泡排序_Java基础 -- 冒泡排序算法(带详细注释)
  5. yolov5继续训练_震惊! 它来了!YOLOv5它来了!
  6. 光纤接口怎么接 图解_视频光端机怎么连接,视频光端机接法图解
  7. 【数据库原理实验(openGauss)】数据库的备份与恢复
  8. Python 列表实现原理
  9. kafaka的消息存储机制
  10. TCP/IP与HTTP的区别