精品教程--Android组件详解
1.显示文本的组件--TextView.. 11
(1)基本使用,显示文本... 11
(2)显示URL链接... 12
(3)带边框的TextView.. 13
2.可输入文本的组件--EditText 14
3.自动输入内容的组件--AutoCompleteTextView.. 14
4.按钮组件... 14
5.日期与时间组件... 15
6.进度条... 16
7.显示图像组件... 17
(1)显示图像效果... 17
(2)对图像进行旋转效果... 18
(3)对图像进行局部显示效果... 18
8.列表控件... 19
9.下拉列表组件--Spinner. 22
10.垂直滚动视图组件和水平滚动视图组件--ScrollView和HorizontalScrollView 23
11.网格视图控件--GridView.. 24
12.显示图像列表和切换图像的组件--Gallery和ImageSwitcher. 25
13.标签组件—TabHost 26
1.显示文本的组件--TextView
(1)基本使用,显示文本
<!-- android:textColor-设置text文字的颜色 android:background-设置textView的背景-->
<!-- android:padding-设置文字距TextView组件边缘的距离 android:layout_margin设置TextView组件距离相邻的其它组件的距离 -->
除了以上在xml文件中配置相关属性,还可以通过在代码中进行设置,部分具体方法如下,其它类似:
A,设置背景
/*设置背景的三个方法
* 1--参数为颜色值
* 2--参数为Drawable对象
* 3--参数为资源ID
*
mTextView.setBackgroundColor(color);
mTextView.setBackgroundDrawable(d);
mTextView.setBackgroundResource(resid);
*/
B, 设置大小
mTextView.setTextSize(20);//设置text大小
C, 设置文字与组件边缘的距离
//设置文字据组件TedxtView四个方向(left,top,right,bottom)边缘的距离
mTextView.setPadding(10, 10, 10, 10);
效果如下:
(2)显示URL链接
TextView识别链接的方式有两种,一种是自动识别链接和HTML解析链接
1)自动识别链接
<!-- android:autoLink="web"-设置自动识别链接,值web为匹配Web网址 -->
<!-- android:autoLink="phone"-设置自动识别链接,值phone为匹配电话号码 -->
<!-- android:autoLink="email"-设置自动识别链接,值email为匹配Email地址 -->
<!-- android:autoLink="all"-设置自动识别链接,值all为匹配所有 -->
2)HTML解析
//代码中设置带HTML的文本
TextView textView4 = (TextView)findViewById(R.id.url_textv4);//获取TextView对象
//通过Spanned对象设置text,而通过HTML的fromHTML来获取Spanned对象
textView4.setText(Html.fromHtml("百度: <a href='http://www.baidu.com'> http://www.baidu.com</a><h1><i><font color='#000FFF'>h1 号字 斜体 蓝色</font></i>"));
效果如下:
(3)带边框的TextView
TextView本身并不支持带边框的TextView,可以通过自定义TextView和使用带边框的9-patch图片作为背景
1)自定义带边框的TextView
2)9-patch格式图片作为背景
由于如果使用普通带边框的图像作为textview的背景,但当textview的大小变化时,变宽会变粗或变细,故需要使用9-patch格式的图片。
效果如下:
以上textview组件具体源码,参考05_TextView
2.可输入文本的组件--EditText
EditText继承了TextView,其用法于textview非常类似,不同的是EditText可接受用户进行输入
可指定输入特定内容,比如只能输入数字(0-9),email等,具体参考05_EditText
3.自动输入内容的组件--AutoCompleteTextView
和EditText类似,都可以输入文本,但AutoCompleteTextView可与一个字符串数组或list对象绑定,当用户输入两个及以上时,系统将在AutoCompleteTextView组件下方列出绑定对象中所有以输入字符开头的字符串,和google的搜索框类似。具体参考05_EditText
效果如下:
4.按钮组件
按钮组件主要有普遍按钮(Button),带图按钮(ImageButton),选项按钮(RadioButton),开关状态按钮(ToggleButton),复选框(CheckBox)
(1)普通按钮中可以设置button的背景图展现不同形状的button,这些按钮需要处理3个事件,分别为触摸事件(onTouch),焦点变化事件(onFocusChange),键盘事件(onKey)
(2)带图按钮,和普通按钮设置带背景按钮类似,只是设置带图按钮的src(ImageButton)
(3)带图和文字按钮,简单的方式是通过<Button>标签的drawableX属性设置图像,drawablePadding设置文字和图像之间的距离
(4)选项按钮RadioButton,可用于多选一的应用中
(5)开关状态ToggleButton按钮
(6)复选框按钮CheckBox,一般用于多选按钮
效果如下:
以上按钮的具体使用,详细参考源码05_Button
5.日期与时间组件
(1)DatePicker--用于输入日期的控件,包括年月日
(2)TimePicker--用于输入时间的控件,包括时钟分钟
(3)AanalogClock--用于显示时钟的组件--表盘方式,只有时针和分针
(4)DigitalClock--用于显示时钟的组件--以数字方式,有时分秒
效果如下:
以上控件的具体使用,详细参考源码05_DateTime
6.进度条
(1)进度条控件为ProgressBar,通过设置andrid:styel可以设置圆形和水平进度条方式
(2)SeekBar--带拖动的水平进度条
(3)进度条颜色的配置
进度条默认都是黄色,progress和seekBar都未提供配置进度条颜色的属性,但可以通过drawable资源和android:progressDrawable属性来配置,完成颜色的修改
详解:
进度条progress和seekBar组件由一级进度条,二级进度条,背景三部分组成,故可以通过设置这三部分的颜色来完成颜色属性的配置
Progress效果如下:
SeekBar效果如下:
(4)ratingBar--评分组件
效果如下:
以上控件的具体使用,详细参考05_ProgressBar
7.显示图像组件
ImageView--此组件可以用于显示图像,支持android支持的图像(gif,png,bmp,jpg等)
(1)显示图像效果
(2)对图像进行旋转效果
(3)对图像进行局部显示效果
具体控件的使用,详细参考05_ImageView
8.列表控件
ListView--以列表的形式来显示数据
1)ArrayAdapter--数组适配器的listview
2)当选和多选标示的ListView,simple_list_item_single_choice表示以对号为标示,
simple_list_item_multiple_choice表示以CheckBox组件标示,simple_list_item_single_choice表示以radio组件标示
3)自定义数据适配器的Listview
自定义Adapter需要继承BaseAdapter类,其中有两个重要方法getView()和getCount()方法
4)SimpleAdapter数据适配器的ListView,SimpleAdatper支持的组件有实现Checkable接口组件,TextView类及其子类和ImageView类及其子类
效果如下:
以上控件的使用,详细参考05_ListView
9.下拉列表组件--Spinner
Spinner用于显示一个下拉列表,和ListView类似,都是通过设置adapter数据适配器来显示!
效果如下:
具体控件的使用,详细参考05_Spinner
10.垂直滚动视图组件和水平滚动视图组件--ScrollView和HorizontalScrollView
(1)ScrollView
ScrollView只支持垂直滚动,而ScrollView中只能包含一个组件,故通常在ScrollView中定义一个<LinearLayout>
(2)HorizontalScrollView
HorizontalScrollView与ScrollView,不过它只支持水平滚动
效果如下:
具体控件的使用,详细参考05_ScrollView
11.网格视图控件--GridView
GridView用于显示一个表格,采用了二维表的方式来显示列表项,每个单元格是一个View对象
效果如下:
具体控件的使用,详细参考05_GridView
12.显示图像列表和切换图像的组件--Gallery和ImageSwitcher
(1)Gallery
一般用于显示图像列表,与GridView的区别为只能显示一行,而且支持水平滚动效果
(2)ImageSwitcher
可以以动画的方式切换图像
效果如下:
具体控件的使用,详细参考05_GalleryImageSwitcher
13.标签组件—TabHost
如果屏幕上需要放置很多控件,可能一屏放不下,故可以采用滚动视图或标签组件方式,对屏幕进行分页显示,故TabHost控件是对屏幕进行分页显示控件!
效果如下:
具体控件的使用,详细参考05_TabHost