Download presentation
Presentation is loading. Please wait.
1
第3章 我的课表—表格布局的应用 授课老师:高成珍 QQ号:1281147324 QQ群:287966120、314753495
网络资源:
2
本章案例效果分析 整体采用表格布局,其中标题文本单独占一行,并居中显示。下面是规则的六行八列的表格,只不过第1行第1列为空白。
第1行和第1列所有的单元格都是TextView,用于显示上课时间,其他单元格都是按钮,用于显示具体的课程,单击按钮可以对课程进行设置和修改 。
3
表格布局 表格布局(TableLayout)指以行和列的形式对控件的排列方式进行管理。不需明确指定包含的行数和列数。
在表格布局中,通过添加TableRow来添加表格行,TableRow本身也是容器,可以添加其他控件,每添加一个控件,相当于该行添加了一列。 如果没有添加TableRow而是直接在表格中添加控件,则该控件独自占一行。 表格布局中所有列的宽度都一致,列的宽度由该列中最宽的那个单元决定,整个表格布局的宽度则取决于父容器的宽度。
4
表格布局 表格布局中的常见属性: android:collapseColumns:隐藏指定的列,其值为列所在的序号,从0开始,如果需要隐藏多列,可用逗号隔开这些序号。 android:shrinkColumns:收缩指定的列以适合屏幕,使整行能够完全显示不会超出屏幕。 android:stretchColumns:扩展指定的列以填充空白部分。该属性用于某一行的内容不足以填充整个屏幕。 android:layout_column:指定控件在TableRow中列的序号。 android:layout_span:指定控件所跨越的列数,即将多列合并为一列。
5
自定义边框效果 在Android中,TextView控件并不存在设置边框的属性。那么如何为TextView添加边框效果呢?
自定义一个控件,该控件继承TextView,然后重写其onDraw()方法,绘制边框; Paint paint=new Paint(); paint.setStyle(Style.STROKE);//设置空心矩形 canvas.drawRect(2, 2, this.getWidth()-2, this.getHeight()-2, paint); 设计一张背景图片,该图片透明且带有边框; 定义一个shape类型的XML文件,然后将其作为TextView的背景。
6
自定义边框效果 ShapeDrawable对象
ShapeDrawable用于定义一个基本的几何图形(如矩形、圆形、线条等),定义ShapeDrawable的XML文件的根元素是<shape…/>元素,该元素可指定如下属性和标签。 android:shape属性指定图形类型 <corners…/>设置矩形四个角的弧度 <gradient…/>设置几何图形的渐变颜色 <padding…/>设置几何图形的内边距 <solid…/>设置几何图形的填充 <stroke…/>设置几何图形的画笔
7
自定义边框效果 自定义一个矩形,矩形的边框为2dp,颜色为黑色,而矩形的中间填充部分为透明,然后将该矩形作为TextView的背景。
8
自定义样式 在Android中,可以将一些共同的属性提取出来,定义成样式,当其它控件具有同样属性时,只需要调用该样式即可。当用户需要更改整体的风格时,只需要修改样式定义文件。如果用户只需要更改某一个控件的风格,可以直接在该控件中对属性重新赋值,此时它会覆盖样式中的属性。 样式的定义 在res/values/styles.xml文件中,在<resources>根元素下,添加<style>元素,它的name属性用来指定样式名。样式中每一个属性值都用<item>标签表示,<item>标签的name属性指定具体的属性,<item>标签的内容为属性的值。 样式的使用
9
直接绑定到标签 Android提供了一种直接在界面布局文件中为指定标签绑定事件处理方法的机制。对于很多Android界面控件而言,它们都支持如onClick、onLongClick等属性,这些属性的属性值是一个形如xxx(View source)方法的方法名。 例如在布局文件中为按钮添加单击事件的处理方法如下: <Button … android:onClick=”clickHandler”/> 最后需要在Activity中添加一个public void clickHandler (View view)方法,除了方法名之外其他都是固定写法,其中传递的参数View为具体被单击的按钮。 9
10
设置手机横屏显示 在Android中,手机屏幕通常是竖屏的,然而在某些情况下,界面横屏显示会更为美观,最常见的就是视频播放,一般的视频都是16:9或者4:3,竖屏播放比较小,不太美观。在Android中为开发者提供了更改界面为横屏显示的方法。有以下两种: 在AndroidManifest.xml清单文件中,对需要横屏显示的Activity添加android:screenOrientation="landscape"属性; 在代码中进行判断,如果是竖屏,则将其设置为横屏,代码如下:
11
课后思考题 思考 本例中表格布局刚刚填满了整个屏幕,如果现在要求 每天晚上要上晚自习,即一天有10节课,那么应该如 何变化,使得可以查看10节课?(提示添加滚动条) 运用表格布局设置3行3列的按钮,要求:第一行中有 一列空着,第三列被拉伸。第三行中有一个按钮占两 列,运行效果如下图所示。
12
思考与练习
Similar presentations