android学习2:界面编程

1、界面编程与视图组件
1)视图组件与容器组件
  • UI组件都在android.widget与android.view包及子包中。
  • UI组件都继承了view类,view组件类似swing中jpanel,代表一个空白的矩形区域。
  • ViewGroup通常作为容器使用
  • 采用组合器设计模式设计view,viewGroup
2)使用XML布局文件控制UI界面

在res/layout目录下定义xml布局后,R.java会自动收录该布局资源。可以通过setContentView(R.layout.资源文件名字)显示视图到Activity中。

可以通过findViewById(R.id.<android.id属性值>)访问指定的UI组件。

3)也可以完全采用代码控制UI界面,像swing一样
4)开发自定义View

其他UI组件也都是继承了View组件,然后在View组件提供的空白上绘制。

2、布局管理器

和Swing不同,android的布局管理器本身就是一个UI组件。都是ViewGroup的子类。

1)线性布局 ,LinearLayout

类似FlawLayout,不同的是线性布局不会换行。

2)表格布局,TableLayout

通过TableRow等组件控制表格的行列

3)帧布局,FrameLayout

类似CardLayout

4)相对布局,RelativeLayout

相对兄弟组件,父容器决定的。

5)绝对布局,AbsoluteLayout

类似AWT中的空布局,不提供布局控制,通过x,y 控制组件位置。

3、基本界面组件
1)文本框与编辑框

TextView直接继承View,还是EditText,Button的父类。类似JLable。也可以看成一个文本编辑框,关闭了文字编辑功能。

2)按钮与图片按钮

Button继承了TextView,ImageButton继承Button。触发OnClick事件。

3)使用9Patch图片作为按钮背景

定义图片缩放区域,用draw9patch工具制作。

4)单选按钮和复选框

RadioButton和CheckBox继承了Button按钮,比普通的按钮多了可选中功能。

5)状态开关,ToggleButton

常用于切换程序的某种状态

6)时钟,AnalogClock和DigitalClock

继承了TextView,但是显示的内容是当前时间。DigitalClock显示的是数字时钟,可以显示当前秒数,AnalogClock显示模拟,不会有秒数。

7)图像视图,ImageView

ImageView继承View,显示图片,和Drawable对象。

4、高级界面组件
1)自动完成文本框,AutoCompleteTextView

比普通编辑框多了一个功能,当 用户输入一定字符后,自动完成文本框会显示一个下拉菜单,供用户选择。

2)Spinner

就是一个列表选择框。相当于弹出一个菜单供用户选择。

3)日期,时间选择器,DatePicker,TimePicker

都是FrameLayout派生来的,DatePicker提供用户选择日期,TimePicker供用户选择时间。

4)进度条,ProgressBar

动态显示进度。

5)拖动条,SeekBar

允许用户拖动滑块改变值,比如调节音量。

6)星级评分条,RatingBar

与拖动条相似,允许用户拖动来改变进度,不同的是用星星来表示进度。

7)选项卡,TabHost

可以方便的在窗口防置多个标签页,每个标签页相当于获得了一个与外部容器相同大小组件摆放区域。

8)滚动视图,ScrollView

FrameLayout派生出,为普通组件添加滚动条的组件。垂直滚动条。

9)列表视图,ListView,ListActivity

ListView以垂直列表的形式显示所有列表选项。

10)可展开的列表组件,ExpandableListView

把应用中的列表项分为几组,每组又可包含多个列表项。

11)网格视图和图像切换器,(GridView和ImageSwitcher)

GridView用于用行列显示多个组件。

ImageSwitcher显示的图片切换时可以设置动画效果。

12)画廊视图,Gallery

和Spinner不同的是,显示的是一个水平的列表选择框,并且允许用户通过拖动来查看上一个,下一个列表项。

5、对话框
  • AlertDialog:功能丰富,实际应用多
  • ProgressDialog:进度对话框
  • DatePickerDialog:日期选择对话框,对DatePicker的包装
  • TimePickerDialog:时间选择对话框
1)PopupWindow

可以创建类似对话框风格的窗口。

6、消息提示
1)Toast显示提示信息框

显示简单提示信息,不会获得焦点,过段时间就自动消失。

2)Notification

显示在手机状态栏的消息。一般通过NotificationManager服务来发送Notification。

7、菜单

只有单击手机上的MENU键,系统才会 显示该应用关联的菜单。

1)选项菜单和子菜单,SubMenu
2)使用监听器监听菜单事件

重写onOptionsItemSelected(MenuItem item)方法为菜单单击事件,编写响应。

为不同的菜单分别绑定监听器setOnOptionsItemSelected

3) 创建复选菜单项和单选菜单项
4)设置与菜单项关联的Activity
5)上下文菜单
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值