Download presentation
Presentation is loading. Please wait.
1
第2章 手机屏幕的区域划分 授课老师:高成珍 QQ号:1281147324 QQ群:287966120、314753495
网络资源:
2
本章案例效果分析
3
线性布局 线性布局由LinearLayout类来表示,将容器里的控件按照一定的方向一个挨着一个地排列。排列方向只有两种:水平排列和垂直排列。通过其android:orientation属性来设置。 当容器中控件的宽度总和或高度总和超过父容器的宽度或高度时,超过的部分如何显示呢? 当添加某一控件后,宽度超过父容器时,即该控件能显示部分,但无法完整显示时,该控件会被压缩,从而完全显示,而再添加其他控件时,将不会显示该控件。高度亦如此。 如果需要完全显示,怎么做?(添加滚动条)
4
android:layout_weight属性
例如有三个控件a,b,c水平排列,它们的宽度都设置为wrap_content时,整个屏幕宽度为X,它们的layout_weight属性值分别为:1、2、3,则表示第一个控件除了自己的宽度外还额外占剩余空间的1/6。(6=1+2+3)以此类推,第二个控件还额外占剩余空间的1/3,第三个控件还额外占剩余空间的1/2。 剩余空间=屏幕的宽度-a控件的宽度-b控件的宽度-c控件的宽度。
5
android:layout_weight属性
此时这三个控件的宽度之比为: (a控件的宽度+1/6*剩余空间的宽度):(b控件的宽度+1/3*剩余空间的宽度):(c控件的宽度+1/2*剩余空间的宽度) 由于a、b、c控件自身的宽度关系不确定,因此它们之间的宽度比也就不明确,没有规律,得不到按比例分割的目的。 那么如何设置才能让它们按照一定的比例分配呢? 设置所有控件原有的宽度为0; 设置所有控件原有的宽度为match_parent;
6
android:layout_weight属性
当设置所有控件的宽度都为0时,此时剩余空间就是X-0-0-0=X,这样它们的宽度之比就是(0+1/6*X):(0+1/3*X):(0+1/2*X)=1:2:3。 当设置所有控件的宽度为match_parent时,此时剩余空间就是:X-X-X-X=-2X,这样它们的宽度之比就是(X+1/6*(-2X)):(X+1/3*(-2X)):(X+1/2*(-2X))=2:1:0,即c控件无法显示。
7
android:layout_weight属性应用
水 平 结 构 垂 直 结 构
8
课后思考题 1、将手机屏幕等比例分成左右两个部分;
2、左半部分中,包含三个颜色块,宽度和高度都相等,并且宽度为屏幕的一半,高度为屏幕的三分之一;右半部分中,包含五个颜色块,宽度和高度都相等,并且宽度为屏幕的一半,高度为屏幕的五分之一。 3、各颜色值如下: 红色:#ff0000 绿色:#00ff00 蓝色:#0000ff 黄色:#ffff00 紫色:#9932cd 黑色:#000000 品红色:#ff00ff 青色:#00ffff
9
课后思考题 FrameLayout中的控件能否使用android:layout_weight属性? 下列关于线性布局的描述正确的是( )。
下列关于线性布局的描述正确的是( )。 A)水平线性布局中所有的控件都是按照水平方向,一个挨着一个排列的,超出屏幕的宽度后,将会自动生成水平滚动条,拖动滚动条可查看其他控件。 B)水平线性布局中所有的控件都是按照水平方向,一个挨着一个排列的,超出屏幕的宽度后,将会自动换行显示其他控件。 C)水平线性布局中所有的控件都是按照水平方向,一个挨着一个排列的,超出屏幕的宽度后,将不会显示多余的控件。 D)水平线性布局中所有的控件都是按照水平方向,一个挨着一个排列的,超出屏幕的宽度后,再添加控件,程序运行时报错。 ScrollView垂直滚动条中,最多可直接包含多少个子控件( )。 A)0个 B)1个 C)2个 D)无数个
Similar presentations