Android布局
Android布局原理:
Activity就是一个基本的独立窗口元素;它里面的内容有各个不同的控件(awt的概念,),还有就html里面的构成元素;主Activity的概念,就是打开程序第一个看到的界面,通过这个Activity可以打开别的Activity界面
每个Activity都需要在Manifest.xml中进行注册代码如下:
<activity android:label="@string/app_name" android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.Main"/>
<category android:name="android.intent.category.LAUNCHER" />
<intent-filter>
</activity>
Xml布局文件中常用规定:
它的长度规定:
px:表示屏幕的实际像素.如,1920*1080表示横向有1920个发光点,纵向有1080个发光点,用得比较少
dp(dip):屏幕的物理尺寸.大小为1英寸的1/72
sp(与刻度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放
布局中属性:
layout_margin
layout_padding
gravity和layout_gravity
Android中常用的五种布局:
Android布局继承图如下:
FrameLayout(框架布局):
所有东西依次都放在左上角,会重叠,这个布局比较简单,也只能放一点比较简单的
东西。
LinearLayout(线性布局):
线性布局是Android中最常用的一种布局,使用<LinearLayout>指定:横向和和纵向先后次序排列,就像排队一样依次排列,不会折行.先来在上面,后来在下面,分为横向:android:orientation="horizontal";分为纵向:android:orientation="vertical"
RelativeLayout(相对布局):
相对布局可以理解为某一个元素为参照物,来定位的布局方式。主要属性有:相对于某一个元素android:layout_below、android:layout_toLeftOf相对于父元素的地方android:layout_alignParentLeft、android:layout_alignParentRigh;
TableLayout(表格布局):
TebleRow:用来管理表格中的行,,TableRow中的空间占据该行的一列,若不用TableRow,直接放一个控件,则独占一行;在TableLayout布局中,一个列的列的宽度由该列中最宽的那个单元格指定,而表格的宽度由父容器指定
AbsoluteLayout(绝对布局):
绝对布局用X,Y坐标来指定元素的位置,这种布局方式也比较简单,但是在屏幕旋转
时,往往会出问题,而且多个元素的时候,计算比较麻烦。
类继承关系图:
继承自LinearLayout类,具有其所有的属性;
android:collapseColumns:指定的列号为Collapsed
android:shrinkColumns:指定的列号为Shrinkable
android:stretchColumns:指定的列号为Stretchable