1.Layout介绍
为适应各种界面风格,满足开发的需要,Android提供了5种布局方式,分别是LinearLayout(线性布局)、FrameLayout(框架布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)以及TableLayout(表格布局),通过这5种布局我们可以在手机屏幕上随心所欲的摆放各种控件。
在Android的系统中,可视化的控件是从Android.view.View类中继承而来。控件的创建方式通常有2种方式:
1、通过在xml布局文件中配置控件的各种属性,然后在程序中加载要使用的控件。
2、直接在程序中设置控件属性,并加载控件。
xml布局文件是android系统中定义控件的常用方法,这样做的目的与好处是显而易见的,使程序代码与图形UI分离,方便代码及图形UI的各自维护。
xml布局文件必须包含在res/layout目录中,且每一个xml布局文件的根节点可以是任意的视图标签。为xml文件布局中的标签指定id时需要使使用如下形式:
android:id=“@+id/标签名称”
每一个标签的id都会在R类中生成与之对应的变量,该标签名称便保存在R文件当中了。
如果是要使用xml布局文件,则需要在oncreate方法中使用setContentView来加载指定的xml布局文件。加载方法如下:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); }
2.Layout常用属性
在Android系统中表示单位长度的方式通常有三种,分别是px、dp、sp。
px表示屏幕实际的象素。例如,320*480的屏幕即意味着该手机屏幕在横向有320个象素,在纵向有480个象素。dp表示屏幕的物理尺寸,大小为1英寸的1/72。sp是与刻度无关的像素,与dp类似,但是可以根据用户的字体大小首选项进行缩放。
通常,如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设置字体,则需要使用sp。
1、如何控制某一控件在父控件中的相对位置呢?
在Android系统中提供了layout_margin,用来控制某一控件边缘相对于父控件的边距。
其中,android:layout_marginTop表示某一控件相对于父控件顶部的距离。android:layout_marginLeft表示某一控件相对于父控件左边框的距离。android:layout_marginRight表示某一控件相对于父控件右边框的距离。android:layout_marginButtom表示某一控件相对于父控件底部的距离。
2、如何控制某一控件中内容在该控件中的相对位置呢?
在Android系统中提供了padding,用来控制某一控件中内容相对于该控件边缘的边距。
其中,android:paddingTop表示某一控件中的内容相对于该控件边缘顶部的距离。android:paddingLeft表示某一控件中的内容相对于该控件左边缘的距离。android:paddingRight表示某一控件中的内容相对于该控件右边缘的距离。android:paddingButtom表示某一控件中的内容相对于该控件边缘底部的距离。
3、android:gravity和android:layout_gravity的区别
android:gravity用于设置View组件的对齐方式,而android:layout_gravity用于设置Container组件的对齐方式。
来源:https://www.cnblogs.com/menlsh/archive/2012/11/04/2754309.html