Android 第一行代码学习笔记
1、布局
LinearLayout 线性布局
android:gravity 指定文字在控件中的对齐方式,是内部的
android:layout_gravity 控件在布局中的对齐方式,是外部的
android:layout_weight 以占比例的方式控制控件的大小。例如水平布局的两个控件的layout_weight值分别为a b ,则第一个控件的长度为一行长度的 a/(a+b) ,第二个为 b/(a+b) ;
如果两个控件一行并排,第一个控件有layout_weight值,第二个没有。则第二个控件(layout_weight值实际为0)按照其原本宽度显示,第一个控件的宽度,则是一行中被第二个控件占去宽度之后所剩余的宽度。
RelativeLayout 相对布局
第一是相对于父元素,在父元素之内的布局属性 上下左右中,五个属性值,值为true或false。一般用两个值为true即可确定位置
androd:layout_alignParentTop
androd:layout_alignParentRight
androd:layout_alignParentLeft
androd:layout_alignParentBottom
androd:layout_centerInParent
第二是相对于同级的元素
androd:layout_toRightOf
androd:layout_toLeftOf
配合
androd:layout_above
androd:layout_below
使用,表示在某个参考元素的左上 左下 右上 右下,值为该参考元素的id 即:@id / referedId
第三是同级元素的
androd:layout_alignTop
androd:layout_alignRight
androd:layout_alignLeft
androd:layout_alignBottom
FrameLayout 类似于层。一层层叠放在一起的。
TableLayout 表格布局
表格布局中把元素放入 <TableRow></TableRow> 中,即是放入一行中。
需要注意的是,列的宽度是无法指定的。但是可以用属性android:layout_span 来指定占几列的宽度
如果表格无法占满屏幕,则通过 在TableLayout标签中加入属性 android:stretchColumns 拉伸某一列来达到。比如值为1,则拉伸第二列。
可以通过 <include layout="@layout / layoutId" /> 插入自定义布局
2、创建自定义控件
LayoutInflater.from(context) 方法可以构建出一个LayoutInflater 对象,然后调用inflate() 方法就可以动态加载一个布局文件。此方法有两个参数,第一个是想加载的布局文件ID,第二个是为加载好的布局在加载一个父布局,可以填入this
3、销毁某个Activity
((Activity) getContext()).finish();