既然是线性排列,肯定就不仅只有一个方向,即android:orientation属性指定的排列方向vertical/horuzontal
android:layout_gravity属性和android:gravity属性的区别:
layout_gravity用于指定控件在布局中的对齐方式;
gravity用于指定文字在控件中的对齐方式;
LinearLayout中另一个非常重要的属性:android:layout_weight;
如:
如:
android:layout_above可以让一个控件位于另一个控件的上方;
android:layout_below可以让一个控件位于另一个控件的下方;
android:layout_toLeftOf表示让一个控件位于另一个控件的左侧;
android:layout_toRightOf表示让一个控件位于另一个控件的右侧;
android:layout_alignLeft表示让一个控件的左边缘和另一个控件的左边缘对齐;
android:layout_alignRight表示让一个控件的右边缘和另一个控件的右边缘对齐;
android:layout_alignTop表示让一个控件的上边缘和另一个控件的上边缘对齐;
android:layout_alignBottom表示让一个控件的下边缘和另一个控件的下边缘对齐;
3、FrameLayout又称作帧布局,它相比于前两种布局就简单太多了,因此它的应用场景也少了很多。这种布局没有方便的定位方式,所有控件都会默认摆放在布局的左上角。
如:
4、百分比布局
前面介绍的3种布局都是从Android1.0版本中开始支持的,一直沿用到现在,可以说是满足了绝大多数场景的界面设计需求。不过细心的i会发现,只有LinearLayout支持使用layout_weight属性来实现按比例指定控件大小的功能,其他两种布局都不支持。为此,Android引入了一种全新的布局来解决此问题---百分比布局。在这种布局中,我们可以不再使用wrap_content、match_parent登方式来指定控件的大小,而是允许直接指定控件在布局中所占的百分比,这样的话就可以轻松实现平分布局甚至是任意比例分割布局的效果了。
此布局为FrameLayout和RelativeLayout进行了功能的扩展,提供了PercentFrameLayout和PercentRelativeLayout这两个全新的布局。
百分比布局使用方法:
需要在项目的build.gradle中添加百分比布局库的依赖,就能保证百分比布局在Android所有系统版本上的兼容性了。
打开app/build.gradle文件,在dependencies闭包中添加如下内容:
dependencies{
compile filteTree(dir:'libs',include:['*.jar'])
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:percent:24.2.1 '
testCompile 'junit:junit:4.12'
}\
需要注意的是,每当修改了任何gradle文件时,Android Studio都会弹出一个Sync Now的提示,这个提示告诉我们,gradle文件自上次同步之后又发生了变化,需要再次同步才能使项目正常工作。这里只需要点击Sync Now就可以了。
示例:
注意:老版本的Android studio可能在布局文件中出现错误,可以直接忽视,Android studio 2.2版本已经修复这个问题