android的UI和常用控件
来源:互联网 发布:elasticsearch mysql 编辑:程序博客网 时间:2024/04/30 14:58
Android 的UI概述和常用的控件
一、UI概述
在android应用中,UI(User Interface)界面是非常重要的,它是人与手机之间数据传递、交互信息的重要媒介和对话接口,是Android系统的重要组成部分。
• 系统 UI
• 自定义 UI
• View
• ViewGroup
二、View和ViewGroup
Android应用的界面是由View和ViewGroup对象构建的。它们有很多种类,并且都是View的子类。View类是Android系统平台上用户界面表示的基本单元,View的一些子类被统称为Widgets(工具),提供诸如文本输入框和按钮之类的UI对象的完整实现。多个视图组件(View)可以存放在一个视图容器(ViewGroup)里,但是一个界面文件中必须有且只有一个容器作为根节点。
• View 是屏幕上的一个矩形区域,负责绘制和事件处理;它是控件(widget)的基类。
• ViewGroup 是 View 的子类,它是不可见的容器,负责管理其他 View 及它们的布局属性;它是布局(layout)和视图容器的基类。
三、布局
不可见的容器(ViewGroup) 定义 UI 的可视化结构,通过布局参数(LayoutParams)定义子元素的尺寸、位置。
布局分类:
Android创建工程的时候一般默认相对布局。如果要使用其它布局,就需要改变项目的布局方式。Android的布局分为以下6类: (1)线性布局(LinearLayout)
有水平线性布局和垂直线性布局之分,用Android:orientation的属性值vertical(垂直)和horizontal(水平)来区分,一般系统默认horizontal。
(2)相对布局 (RelativeLayout)
相对布局有两种形式,一种相对于容器而言,一种是相对于控件而言的。下边列出一些常用的控件属性:
android:layout_alignParentTop 如果为true,将该控件的顶部与其父控件的顶部对齐;
android:layout_alignParentBottom如果为true,将该控件的底部与其父控件的底部对齐;
android:layout_alignParentLeft 如果为true,将该控件的左部与其父控件的左部对齐;
android:layout_alignParentRight 如果为true,将该控件的右部与其父控件的右部对齐;
android:layout_toLeftOf 将该控件的右边缘与给定ID的控件左边缘对齐;
android:layout_toRightOf 将该控件的左边缘与给定ID的控件右边缘对齐;
android:layout_above 将该控件的底部置于给定ID的控件之上;
android:layout_below 将该控件的底部置于给定ID的控件之下;
android:layout_alignBaseline 将该控件的baseline与给定ID的baseline对齐;
android:layout_alignTop 将该控件的顶部边缘与给定ID的顶部边缘对齐;
android:layout_alignBottom 将该控件的底部边缘与给定ID的底部边缘对齐;
android:layout_alignLeft 将该控件的左边缘与给定ID的左边缘对齐;
android:layout_alignRight 将该控件的右边缘与给定ID的右边缘对齐;
更多属性请查看链接:http://blog.csdn.net/heysuo/article/details/39027753
(3)帧布局(FrameLayout)
帧布局设计的界面,只能在屏幕左上角显示一个控件,如果添加多个控件,这些控件回按照顺序在屏幕的左上角重叠显示,且会透明显示之前控件的文本,常见的刮刮卡就是通过帧布局实现的。
(4)表格布局(TableLayout)
行数由TableRow对象控制,即布局中有多少TableRow对象,就有多少行。列数由最宽的单元格决定,假如第一个TableRow有两个控件,第二个TableRow有三个控件,那么这个TableRow就有三个控件。Android:layout_column属性决定具体的列数。
(5)网格布局(GridLayout)
用一组无限细的直线将绘图区域分成行、列和单元,并指定控件的显示区域和空间在该区域的显示方式。
(6)绝对布局(AbsoluteLayout)
通过指定x、y坐标来哦内阁制每一个空间的位置,用android:layout_x和android:layout_y两个属性来指定其准确的坐标值,控件以屏幕左上角为坐标原点。
四、视图(View)的继承结构
由视图可见,凡是显示在Android屏幕上的“可视化”控件都是View,因为全都继承自View在使用时,可以类型转化。
View 的通有属性如图:
五、常用控件
按用途分类:
文本控件
TextView、EditText
按钮控件
Button、 ImageButton
状态开关按钮
ToggleButton
单选与复选按钮
CheckBox、RadioButton
图片控件
ImageView
时钟控件
AnalogClock、DigitalClock
日期与时间选择控件
DatePicker、TimePicker
1、TextView
显示文字,相当于Panel。一般用来文本展示,继承自android.view.View,在android.widget包中。
常用属性设置见下图:
在布局文件(XML)对应的写法:
属性名称
说明
android:autoLink=””
链接类型。Web网址,email邮件,phone电话,map地图。Linkify。
android:hint="请输入数字!"
当TextView中显示的内容为空时,显示该文本
android:textColor = "#ff8c00"
字体颜色
android:textSize="20dip"
字体大小
android:layout_gravity="center_vertical"
设置控件显示的位置:默认top,这里居中显示,还有bottom
2、EditText
输入框,可编辑,可设置软键盘方式。继承自android.widget.TextView,在android.widget包中。
• 常用属性设置:
android:hint="请输入用户名"
输入框的提示文字
android:password=""
True为密码框
android:phoneNumber=""
True为电话框
android:digits
设置允许输入哪些字符。如“1234567890.+-*/%\n()”
android:numeric=""
数字框。Integer正整数, signed整数(可带负号), decimal浮点数。
3、Button与ImageButton
Button是最常用的按钮,继承自android.widget.TextView,在android.widget包中。他的常用子类CheckBox,RadioButton, ToggleButton。
• 通常用法:
• super.findViewById(id)得到在layout中声明的Button的引用,setOnClickListener(View.OnClickListener)添加监听。然后再View.OnClickListener监听器中使用v.equals(View)方法判断哪个按钮被按下,进行分别处理。
ImageButton继承自ImageView类,与Button之间的最大区别在于ImageButton中没有text属性。ImageButton控件中设置按钮中显示的图片可以通过android:src属性来设置。也可以通过setImageResource(int)来设置。
ImageView常用属性(也是ImageButton继承具有的属性):
4、ImageView—图片控件
ImageView控件负责显示图片,其图片的来源可以是在资源文件中的id,也可以是Drawable对象或者位图对象。还可以是Content Provider的URI。
常用属性:
Android:adjustViewBounds
设置是否需要ImageView调整自己的边界,保证图片的显示比例
Android:maxHeight
最大高度
Android:maxWidth
最大宽度
Android:src
图片路径
Android:scaleType
调整或移动图片
常用方法:
setAlpha(int)
设置ImageView透明度
setImageBitmap(Bitmap)
设置ImageView显示的内容为Bitmap对象
setImageDrawable(Drawable)
设置ImageView所显示内容为Drawable
setImageURI(Uri)
设置ImageView所显示内容为Uri
setSelected(boolean)
设置ImageView的选择状态
setImageResource(int)
设置ImageView显示内容的指定的id资源
ImageView 伸缩类型:
5、RadioButton和CheckBox--单选与复选按钮
android.widget.CheckBox复选按钮,继承自android.widget.CompoundButton,在android.widget包中。
常用方法:
isChecked()检查是否被选中。
监听按钮状态更改,需要添加setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener);
android.widget. RadioButton单选按钮,继承自android.widget.CompoundButton,在android.widget包中。
通常用法:
单选按钮要声明在RadioGroup,RadioGroup是流式布局android.widget.LinearLayout的子类。
单选按钮状态更改的监听,是要给他的RadioGroup添加setOnCheckedChangeListener(RadioGroup.OnCheckedChangeListener)监听器。注意监听器类型和CheckBox是不一样的。
6、ToggleButton--状态开关按钮
android.widget. ToggleButton开关形式的按钮,继承自android.widget.CompoundButton,在android.widget包中。
常用属性设置:
android:textOn=""
选择状态文字
android:textOff=""
未选状态文字
7、DatePicker--日期与时间选择控件
常用方法:
• getDayOfMonth():获取当前Day
• getMonth():获取当前月
• getYear()获取当前年
• updateDate(int year, int monthOfYear, int dayOfMonth):更新日期
TimePicker
• 查看一个在24小时或上午/下午模式下一天的时间。
• 常用方法
• setCurrentMinute(Integer currentMinute)设置当前时间的分钟
• getCurrentMinute()获取当前时间的分钟
• setEnabled(boolean enabled)设置当前视图是否可以编辑。
• m_TimePicker.setIs24HourView(true);设置为24小时制显示
• setOnTimeChangedListener(TimePicker.OnTimeChangedListener onTimeChangedListener)当时间改变时调用
相关包类:
• TimePickerDialog、DatePickerDialog
• 以对话框形式显示日期时间视图
• Calendar
• 日历是设定年度日期对象和一个整数字段之间转换的抽象基类,如,月,日,小时等。
- android的UI和常用控件
- Android UI概述和常用控件
- Android中常用的UI控件
- Android中常用的UI控件
- 常用的UI控件(android)
- Android常用UI控件 ViewGroup
- android常用UI控件总结
- Android UI开发常用控件
- Android 常用UI控件收藏
- UI常用控件和属性
- 常用UI控件和常用类
- IOS常用的UI控件
- Android 常用布局及基本UI控件
- Android-常用UI控件(Spinner/AutoCompleteTextView)
- Android 常用布局及基本UI控件
- android UI开发及常用控件
- Android UI开发中的常用控件TextView
- Android UI开发中的常用控件Button
- 深入PHP面向对象、模式与实践——高级特性(4)
- Spring整合Hibernate的方法
- 2. Add Two Numbers
- 学习日记-集合容器
- AspectJ切面执行两次原因分析
- android的UI和常用控件
- 第七十篇:从ADAS到自动驾驶(三):车道检测
- UVa 10976
- 数据结构-线性表
- JS中Float类型加减乘除
- 神经网络:多层网络与C++实现
- C# 控制台简单日历
- 软件测试——电话账单收费
- 大数据工程师(开发)面试系列(4)