安卓基础学习笔记(一)

/ 0评 / 0

Android项目结构
---------------------------------------
src:Java源代码
gen:自动生成的Java源代码,不可修改
assets:(无视)外部文件
bin:(无视)运行的目标文件,例如.apk文件
libs:使用的库或者jar包
res:资源文件
AndroidManifest.xml:项目清单文件
project.properties:属性配置,例如编译版本

Android项目的启动流程
---------------------------------------
1. 检索AndroidManifest.xml文件,查找带有




配置的节点,并根据该节点的name属性确定需要启动的Activity类
2. 创建Activity类的对象,并自动调用onCreate()方法,并通过setContentView()方法加载界面,该方法的参数即需要加载的界面布局

LinearLayout:线性布局
---------------------------------------
特征:
1. 直接子级布局的控件按照代码的顺序先后排列
2. 直接子级布局的控件可以按照比例分配尺寸
属性:
android:orientation -> 布局方向,取值为vertical或者horizontal,前者表示子级布局的控件垂直方向(从上至下)排列,后者表示子级布局的控件水平方向(从左至右)排列
Ps:线性布局的直接子级布局的控件可以配置如下属性:
android:layout_weight -> 权重/比例,取值为整数
android:layout_gravity -> 对齐方式,取值为left、right、top、bottom、center,或者其中2个不冲突的值组合起来,例如top|left

RelativeLayout:相对布局
---------------------------------------
特征:
1. 每个控件都可以使用其它控件作为参考点,从而决定自身的尺寸或者位置
2. 必须首先确定1个不以其它控件作为参考点,而是可以直接确定自身的尺寸和位置的控件
3. 当控件没有使用参考点控件时,默认以根布局作为参考点,且靠左对齐,靠上对齐
4. 相对布局中的子级布局控件可以重叠
属性:
(没有)
相对布局的子级控件的属性:
1. android:layout_alignParentLeft -> 对齐父级控件的左侧边缘,取值为true或者false
2. android:layout_alignParentRight -> 对齐父级控件的右侧边缘,取值同上
3. android:layout_alignParentTop -> 对齐父级控件的顶部边缘,取值同上
4. android:layout_alignParentBottom -> 对齐父级控件的底部边缘,取值同上
5. android:layout_centerHorizontal -> 在父级控件范围内水平方向居中对齐,取值同上
6. android:layout_centerVertical -> 在父级控件范围内容垂直方向居中对齐,取值同上
7. android:layout_centerInParent -> 在父级控件范围内水平方向和垂直方向均居中对齐,取值同上
8. android:layout_alignTop -> 与其它某个控件的顶部在垂直方向对齐,取值为其它控件的id
9. android:layout_alignBottom -> 与其它某个控件的底部在垂直方向对齐,取值同上
8. android:layout_alignLeft -> 与其它某个控件的左侧在水平方向对齐,取值同上
9. android:layout_alignRight -> 与其它某个控件的右侧在水平方向对齐,取值同上
10. android:layout_toLeftOf -> 设置控件在水平方向的位置在其它某个控件的左侧,取值同上
11. android:layout_toRightOf -> 设置控件在水平方向的位置在其它某个控件的右侧,取值同上
12. android:layout_above -> 设置控件在垂直方向的位置在其它某个控件的上方,取值同上
13. android:layout_below -> 设置控件在垂直方向的位置在其它某个控件的下方,取值同上
Ps:
1. 当以其它控件作为参考点,其它控件必须与自身是同级(拥有相同的直接父级控件)控件
2. 不可以互相参考

TextView:文本显示控件
---------------------------------------
特征:
用于显示字符串的控件
属性:
1. android:text -> 控件上显示的文本,取值可以使字符串,或者@string/???
2. android:gravity -> 文本在控件内部的对齐方式,取值参考android:layout_gravity属性
3. android:textSize -> 文本尺寸,取值为以sp为单位的数值,例如14sp,数值建议不小于10,也可以取值为@dimen/???
4. android:textColor -> 文本颜色,取值为RGB颜色值,或者@color/???
5. android:singleLine -> 单行显示,即当文字在控件内1行显示不下时,应该如何处理,取值为true或者false,取值为true时,将不显示超出的部分,取值为false时,将在控件可用范围内继续显示。

EditText:文本输入框控件
---------------------------------------
特征:
可以使用该控件输入字符
EditText是TextView的子类
属性:
1. android:inputType -> 输入的字符类型,取值为枚举类型,例如text、textPassword、number、phone
2. android:hint -> 提示文字,当该控件内没有输入任何内容时的提示问题,取值参考android:text属性
3. android:textColorHint -> 提示文字的颜色,取值参考android:textColor属性
Ps:
1. 如果某个EditText控件存在子级节点则表示该EditText默认获取到焦点,即光标定位在该EditText控件上

Button:按钮控件
---------------------------------------
特征:
用于用户点击的按钮
Button是TextView的子类
属性:
(无)
Ps:
1. Button控件默认存在android:minWidth和android:minHeight属性

RGB颜色与ARGB颜色
---------------------------------------
RGB颜色是以#作为前缀,使用6位十六进制数表示的颜色,例如#FF0000、#00FF00、#0000FF,在表示颜色时,字母不区分大小写
ARGB颜色是在RGB的基础上,最左侧多使用了2位十六进制数表示的颜色,A表示alpha,即透明度,alpha位置取值为ff时表示完全不透明,取值为00时表示完全透明。

隐藏默认的标题栏
---------------------------------------
打开AndroidManifest.xml文件,找到需要去掉标题栏的节点,配置android:theme属性,然后,为Activity配置带有NoTitleBar或NoActionBar字样的主题,例如android:theme="@android:style/Theme.Holo.Light.NoTitleBar"

评论已关闭。