布局文件

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

布局效果:

显然这不能满足我们的期望,下面我们演示 使用 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="*"

更多相关文章

  1. 50个Android开发人员必备UI效果源码[转载]
  2. android ImageView 宽度设定,高度自适应
  3. Android绘图之drawText,getTextBounds,measureText,FontMetrics,
  4. Android中的android:layout_width和android:width
  5. Android(安卓)textview 跑马灯 要加的属性
  6. android Theme使用总结
  7. Android(安卓)TextView 跑马灯滚动效果
  8. android 控件属性 116
  9. 飞舞的泡泡球

随机推荐

  1. css margin属性理解与使用
  2. Android中的双击事件
  3. Android(安卓)实现倒计时功能
  4. Android仿酷狗音乐自定义侧滑菜单控件简
  5. 移动终端平台之争! iOS、Android还是wp7?
  6. Android完败 移动网页浏览份额iOS依然绝
  7. Android框架之MVP实践
  8. Android进阶——Handler的应用之解决Only
  9. Android(安卓)跳过开机界面 直接软件自启
  10. Android(安卓)Gradle从认识到实践(1)