【Android开发学习24】界面布局之表格布局TableLayout+TableRow
一、基础知识:
TableLayout置底,TableRow在TableLayout的上面,而Button、TextView等控件就在TableRow之上,
另外,TableLayout之上也可以单独放控件。TableLayout是一个使用复杂的布局,最简单的用法就仅
仅是拖拉控件做出个界面,但实际上,会经常在代码里使用TableLayout,例如做出表格的效果。
android:collapseColumns:以第0行为序,隐藏指定的列
android:shrinkColumns:以第0行为序,自动延伸指定的列填充可用部分
android:stretchColumns:以第0行为序,尽量把指定的列填充空白部分
二、方案一代码展示:
方案一采用xml布局,在代码中除了显示layout之外,未作任何布局相关的操作。
1."Acticity_06\src\yan\acticity_06\MainActivity.java"
package yan.activity_06;
import android.os.Bundle;
import android.app.Activity;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
2."Activity_06\res\layout\activity_main.xml"
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity"
android:stretchColumns="0" >
<TableRow>
<TextView
android:text="第一行第一列"
android:background="#aa0000"
android:padding="3dip" />
<TextView
android:text="第一行第二列"
android:padding="3dip"
android:gravity="center_horizontal"
android:background="#00aa00"
></TextView>
<TextView
android:text="第一行第三列"
android:gravity="right"
android:background="#0000aa"
android:padding="3dip" />
</TableRow>
<TableRow>
<TextView
android:text="第二行第一列"
android:padding="3dip" />
<TextView
android:text="第二行第二列"
android:gravity="right"
android:padding="3dip" />
</TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</TableLayout>
三、方案二代码展示:
方案二采用代码布局,在layout文件中除了显示一个空的TabLayout之外,未作任何其它布局。
1."Acticity_06\src\yan\acticity_06\MainActivity.java"
package yan.activity_06;
import android.os.Bundle;
import android.view.ViewGroup;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.app.Activity;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
private final int WC = ViewGroup.LayoutParams.WRAP_CONTENT;
private final int FP = ViewGroup.LayoutParams.FILL_PARENT;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_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));
}
}
}
2."Activity_06\res\layout\activity_main.xml"
<?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:id="@+id/TableLayout01"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</TableLayout>
</LinearLayout>
三、效果展示:
1.方案一:
2.方案二:
参考文章有: http://blog.csdn.net/hellogv/article/details/4523745
http://blog.csdn.net/hellogv/article/details/4522125
本文完整代码下载地址: http://download.csdn.net/detail/ypist/5144652
本文博客源地址:http://blog.csdn.net/ypist
【Android开发学习24】界面布局之表格布局TableLayout+TableRow相关推荐
- 【Android开发学习笔记之一】5大布局方式详解
Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件. 帧布局(FrameLayout):组件从屏幕左上方布局组件. 表格布局(Tabl ...
- Android用表格布局做菜单栏,Android开发菜单布局之表格布局示例
本文实例讲述了android开发菜单布局之表格布局.分享给大家供大家参考,具体如下: 多用于静态菜单页面 xml代码 代码内带详细解释 xmlns:android="http://schem ...
- Android学习|布局——GridLayout 表格布局_(可行、列合并)
Android学习|布局--GridLayout 表格布局 一.GridLayout 行.列 都可以进行合并 二.常见属性 三.子控件属性 四.Demo 1.常见属性Demo 2.子控件属性Demo ...
- android表格布局bottom,Android基础_2 Activity线性布局和表格布局
在activity的布局中,线性布局和表格布局是最简单的,这次分别从线性布局,表格布局以及线性布局和表格混合布局做了实验,实验中只需要编写 相应的xml的代码,java代码不需要更改,因为我们这里只是 ...
- Android 开发学习笔记
Android 开发学习笔记 Lesson1 (2.28) android之父: Andy Rubin(安迪 鲁宾) Lesson2 (3.3) android 的优点: 开放.网络接入自由.丰富的硬 ...
- android开发学习之路——连连看之游戏逻辑(五)
GameService组件则是整个游戏逻辑实现的核心,而且GameService是一个可以复用的业务逻辑类. (一)定义GameService组件接口 根据前面程序对GameService组件的依赖, ...
- Android开发学习之基于ViewPager实现Gallery画廊效果
通过我们前面的学习,我们知道ViewPager是可以做出近乎完美的滑动体验,回顾整个Android,我们发现Gallery具备同样的特点,于是我们大胆地猜想,Gallery是否和ViewPager之间 ...
- Android开发学习持续更新中
Android开发 单个Activity界面内的操作 控件1TextView控件使用 控件2Button控件使用 1首先对于android的按键格式 2对按键监听事件进行绑定 控件3EditText文 ...
- Android的布局管理--表格布局
Android的布局管理–表格布局 在校期间想过自学这个,但是最后选择了学习前端,以下知识点并不记得了 表格布局(TableLayout)是以表格形式排列控件的,通过行和列将界面划分为多个单元,每个单 ...
最新文章
- 图片1---前馈神经网络+反向传播神经网络
- BCGSoft Demo示例展示:菜单示例集合(2/2)
- php post数据丢失
- 我的世java途径错误_我的世界JAVA路径错误的解决方法分享
- C异常处理机制:setjmp和longjmp
- gperftools
- python工资高还是java-Python工资高还是Java?
- 将object类型转换成时间,如果能转的话。
- 网卡驱动程序igb和ixgbe
- [渝粤教育] 武汉大学 自然科学经典导引 参考 资料
- matlab局部放大找交点,11.matlab找两条离散曲线的交点
- 逻辑漏洞之任意密码重置
- python飞机大战源码素材包_python(pygame)滑稽大战(类似飞机大战) 教程
- 1.ROS编程学习:helloworld的c++与python实现
- 计算机二级考试内容是什么
- 第二讲:线性结构-Go语言实现
- 使用Logstash接收Netflow日志并发送到syslog服务器
- 用Python实现DT算法
- JUC之Callable接口
- iOS 开发第三方库全集