HardBirch

Android入门第五篇之TableLayout (二)

时间:09-09-05 栏目:安卓入门与提高 作者:张飞不张,文采横飞 评论:27 点击: 9,470 次

 

      上一篇文章,主要将如何UI设计器设计TableLayout + TableRow,由于实际应用中,经常需要在代码里往TableLayout添加数据(9宫图也可以用TableLayout做出来
),本文就是介绍这方面的简单使用方法。



main.xml的代码如下,用到TableLayout的ID为TableLayout01:
















JAVA代码如下:












@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//新建TableLayout01的实例
TableLayout tableLayout = (TableLayout)findViewById(R.id.TableLayout01);
//全部列自动填充空白处
tableLayout.setStretchAllColumns(true);
//生成10行,8列的表格
for(int row=0;row<10;row++)
{
TableRow tableRow=new TableRow(this);
for(int col=0;col<8;col++)
{
//tv用于显示
TextView tv=new TextView(this);
tv.setText("("+col+","+row+")");
tableRow.addView(tv);
}
//新建的TableRow添加到TableLayout
tableLayout.addView(tableRow, new TableLayout.LayoutParams(FP, WC));
}
}
}


结果如下图:



1


声明: 本文由( 张飞不张,文采横飞 )原创编译,转载请保留链接: Android入门第五篇之TableLayout (二)

Android入门第五篇之TableLayout (二):目前有27 条留言

  1. 27楼
    yahier:

    [e03]添加数据啊

    2010-11-16 12:39 [回复]
  2. 26楼
    yisuihan:

    [e01]

    2010-11-18 19:22 [回复]
  3. 25楼
    HappyYohn:

    [e03],好!

    2011-01-12 18:16 [回复]
  4. 24楼
    sqm1211:

    [e01]牛!

    2011-01-25 11:50 [回复]
  5. 23楼
    cqh520llr:

    都别瞎起哄呀,这些都是基本在基本的东西[e07]

    2011-03-09 11:32 [回复]
  6. [e01]

    2011-03-10 20:14 [回复]
  7. 21楼
    qi19901212:

    顶一下啊

    2011-04-10 10:58 [回复]
  8. 20楼
    DKxiaokai:

    tableLayout.addView(tableRow, new TableLayout.LayoutParams(FP, WC));能请牛人给详细讲解一下吗?

    2011-05-10 09:42 [回复]
  9. 19楼
    hellogv:

    回复 DKxiaokai:
    按照一定大小往tableLayout中添加tableRow这个控件

    2011-05-10 09:46 [回复]
  10. 18楼
    DKxiaokai:

    回复 hellogv:谢谢!

    2011-05-10 10:14 [回复]
  11. [e10]

    2011-05-31 10:46 [回复]
  12. 16楼
    css33:

    2011-08-18 09:46 [回复]
  13. 15楼
    Edward_zxw:

    。。。

    2011-09-01 01:08 [回复]
  14. 14楼
    yang_xian521:

    在没有指定tableLayout的宽度参数,有时候启动会启动不起来,我用的版本是2.3.3

    2011-09-02 11:39 [回复]
  15. 13楼
    hellogv:

    [reply]yang_xian521[/reply]
    那就添加宽度的参数,看看是代码问题还是系统兼容性的问题

    2011-09-04 13:56 [回复]
  16. 12楼
    firewolf2009:

    我的怎么在模拟器上看不到输出的效果。

    2011-09-22 17:11 [回复]
  17. 11楼
    firewolf2009:

    /**代码*/

    public class PopWin extends Activity{
    TableLayout tbl;
    @Override
    protected void onCreate(Bundle pBundle)
    {
    super.onCreate(pBundle);
    setContentView(R.layout.pop_win);
    tbl=(TableLayout) this.findViewById(R.id.tbl);
    tbl.setStretchAllColumns(true);
    int lCols=9;
    int lRows=9;
    int i,j;
    for(i=1;i<=lRows;i++)
    {
    TableRow lRow=new TableRow(this);
    for( j=1;j<=lCols;j++)
    {
    TextView lTxt=new TextView(this);
    lTxt.setLayoutParams(new TableLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
    lTxt.setText("("+j+")");
    lRow.addView(lTxt);
    }

    tbl.addView(lRow,new TableLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
    }
    }

    2011-09-23 10:12 [回复]
  18. 10楼
    firewolf2009:

    /*高手指点一下。我死活都看不到效果*/
    /*xml文件*/
    <?xml version="1.0" encoding="utf-8"?>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&quot;
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android&quot;
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/tbl"
    >

    </TableLayout>
    </LinearLayout>

    2011-09-23 10:12 [回复]
  19. 屏幕是黑的,没有显示。

    2011-09-23 10:15 [回复]
  20. 8楼
    Thread727:

    我想问一下 ,我的界面显示 很紧凑 屏幕右边还有很大一块空地, 我看了width 参数 都和你一样啊,是什么问题哦

    2011-09-24 16:08 [回复]
  21. 你好,我在使用tablerow中遇到了问题,我在java代码中将ImageView添加到Tablerow中,而且要根据需要设置ImageView图片的大小,我并不是从xml中读的ImageView,是纯手写的,现在不知道该如何设置ImageView中图片的大小。
    部分代码如下:
    TableLayout tableLayout = new TableLayout(context);
    TableRow row = new TableRow(context);
    ImageView img = new ImageView(context);
    Bitmap bitmap = BitmapFactory.decodeFile(url);//从本地取图片
    img.setImageBitmap(bitmap);
    //img.setLayoutParams(new LayoutParams(width, height));
    row.addView(img);
    tableLayout.addView(row);
    this.addView(tableLayout);

    我本想通过img.setLayoutParams(new LayoutParams(width, height));设置图片的大小,可是这样图片就不能显示了

    2011-12-15 14:21 [回复]
  22. 6楼
    yeahwell:

    没有bug

    2012-01-24 14:27 [回复]
  23. 我现在用的是4.0.3版本,把博主的代码copy进去,就出现了版本问题,有小错误,后来换了2.3.3版本的SDK,问题就解决了。为什么后面的版本不能兼容前面的版本呢?

    2012-02-11 03:08 [回复]
  24. 4楼
    mzjxjb:

    2012-03-28 16:59 [回复]
  25. 地板
    sqjhwl:

    [reply]firewolf2009[/reply]
    你的linearlayout没有加入android:orientation

    2012-04-20 11:54 [回复]
  26. 板凳
    endswell:

    [reply]firewolf2009[/reply]

    tableLayout.setVisibility(TableLayout.VISIBLE);

    2012-04-20 20:57 [回复]
  27. 沙发
    CDT198908:

    这个不错 简单的代码 容易学习

    2012-05-02 10:04 [回复]

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐