Android-UI界面(一)
解析UI界面
安卓的UI界面和activity密不可分,要解析UI首先从活动入手:
activity是程序的组件,是用户和程序进行交互的界面。
启动activity流程:
操作系统调用Manifest.xml文件,在Manifest.xml中被注册的activity就会被启动和执行。在activity的方法中调用oncreate()方法,调用setContentView()来指定activity的显示内容。
在layout中是xml文件。xml语言是一种可拓展的,用于标记电子文件使其具有结构性的标记语言,与html类似,都是标准通用标记语言的子集。
Layout:
从图里可以看出,layout是viewgroup的子类。
布局属性:
gravity:
需要注意,如果当前线性布局的方向为垂直方向,那么layout——gravity中使用的对齐方式,只能是水平位置的对齐(right,left,center_horizontal),如果当前线性布局的方向为垂直方向,也是同理。
weight:
layout_weight是在线性布局中特有的属性,用于指定父控件剩余空间的比例。
被设置weight值的控件,宽度应该为该控件的原宽度+父控件的剩余空间*比例,所以需要平分父控件的时候,在水平方向的线性布局中可以把weight设置成0dp,垂直方向的线性布局将高度设置成0dp。分配的控件就能为整个父控件*比例。
如果宽度设置为match_parent,会变成下面的情况:
距离单位:
px:
并不推荐使用px,因为在不同分辨率的屏幕的情况下,呈现的比例不同:
dpi:
dp
sp
view:
在屏幕方块内所显示的内容,都可以被称为view或者是view的子类
控件:
TextView:
TextView属性:
id:
id是控件的唯一标识。
设置背景(background):
android:background=“@color/xxx”引用color.xml中对应的颜色。(放在values文件夹下)
带有图片背景的颜色:android:background=“@drawabler/xxx”,会在drawable文件下找到图片资源。
@string:
(放在values文件夹下)
TextSize:
设置文字大小
AutoLink:
电话,邮箱,地图经纬度,网络地址
eg:android:autoLink="web"
android:text="官网地址:http://www.baidu.com"
drawableLeft:
省略号与跑马灯:
一行放不下之后会加入省略号:
放不下的情况下以动画形式滚动显示,并无限循环:
字体风格与类型:
风格属性设置由bold,italic...由textStyle控制
设置字体类型:android:typeface=""(normal sans serif...)
Button各种监听器的实现方式:(复习复习哈哈哈从基础打起)
1.创建成员内部类
创建内部类并实现OnClickListener接口,重写onClick方法,生成内部类对象。
通过Button的id获取到Button中的对象,为button按钮添加监听器。
2.创建匿名内部类
通过Button的id获取到Button中的对象,
3.Activity直接实现监听器接口
4.通过xml布局文件定义onClick属性
myButtonClick是监听器的方法名,当按钮被点击的时候,这个方法会被调用。
多个按钮使用一个监听器:
通过switch(v.getId())区分被点击的按钮。