第4章 Android常用高级控件

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第四章Android常用高级控件本章目标:掌握自动完成文本框控件掌握滚动视图和列表视图掌握滑块和进度条掌握画廊控件和消息提示掌握下拉列表和选项卡4.1自动完成文本框所谓“自动完成”就是在文本框中输入文字信息时,会显示与之相似的关键字让你来选择。AutoCompleteTextView类继承自EditView类,位于android.widget包下。自动完成文本框控件的外观与图片文本框几乎相同,只是当用户输入某些文字信息时,会自动出现下拉菜单显示与用户输入文字相关的信息,用户直接点击需要的文字便可自动填写到文本控件中。自动完成文本框可以在XML文件中使用属性进行设置,也可以在Java代码中通过方法进行设置。4.1自动完成文本框表4-1自动完成文本的属性与方法对照表属性名称对应方法属性说明android:completionThresholdsetThreshold(int)定义需要用户输入的字符数android:dropDownHeightsetDropDownHeight(int)设置下拉菜单高度android:dropDownWidthsetDropDownWidth(int)设置下拉菜单宽度android:popupBackgroundsetDropDownBackgroundResource(int)设置下拉菜单背景4.1自动完成文本框ListAdapter继承与Adapter,它是ListVIew和其里边数据的适配器。ArrayAdapter是ListAdapter的一个直接子类,可以翻译成数组适配器,它是一个数组和ListView之间的桥梁,可以将数组里面定义的数据一一对应显示在ListView里面。ArrayAdapter是由3个参数进行构造的,第一个参数表示上下文的应用,为当前应用实例;第二个参数为一个在R文件里面定义的Layout,可以通过R.layout.XX访问(XX为资源的名称),也可以通过Android.R.layout.XX来进行对Android系统的默认布局进行访问,Android的默认布局有很多种,我们常见的有:android.R.layout.simple_list_item_single_choice:每一项只有一个TextView,但这一项可以被选择android.R.layout.simple_list_item_1:每一项只有一个TextViewandroid.R.layout.simple_list_item_2:每一项有两个TextView;第三个参数为字符串数组。4.2.1滚动视图滚动视图ScrollView类继承自FrameLayout类,因此,实际上它是一个帧布局,同样位于android.widget包下。ScrollView控件是当需要显示的信息在一个屏幕内显示不下时,在屏幕上会自动生成一个滚动条,以达到用户可以对其进行滚动,显示更多信息的目的。ScrollView控件的使用与普通布局没有太大的区别,可以在XML文件中进行配置,也可以通过Java代码进行设置。在ScrollView控件中可以添加任意满足条件的控件,当一个屏幕显示不下其中所包含的信息时,便会自动添加滚动功能。需要注意的是:ScrollView中同一时刻只能包含1个View。4.2.2列表视图Listview类位于android.widget包下,是一种列表视图,将ListAdapter所提供的各个控件显示在一个垂直且可滚动的列表中。该类的使用方法非常简单,只需先初始化所需要的数据,然后创建适配器并将其设置给ListView,ListView便将信息以列表的形式显示到页面中。SimpleAdapter和我们前面所说的ArrayAdapter一样,也是ListAdapter的直接子类。前面学习的ListView与ArrayAdapter绑定的列表有一定的局限性,这种绑定里面,ListView里面的每一项只有一个TextView,并且TextView里边的内容都是调用了数组里面每一个对象的toString()方法生成的字符串。而SimpleAdapter与ListView的绑定生成的列表就会有很大的用户可定制性。通常将ListView中某项的布局信息写在一个XML的布局文件中,这个布局文件通过R.layout.XX(XX为文件的名称)获得。4.2.2列表视图ArrayAdapter的作用是数组和ListView间的桥梁,而SimpleAdapter的作用是ArrayList和ListView的桥梁。需要注意的是,这个ArrayList里边的每一项都是一个MapString,?类型,ArrayList当中的每一项Map对象都和ListView当中的一项进行数据绑定和一一对应。SimpleAdapter类的构造方法结构如下:PublicSimpleAdapter(Contextcontext,List?ExtendsMapString,?data,intresource,String[]from,int[]to);Context参数:负责上下文应用的传递;Data参数:基于Map的List,Data里面的每一项都和ListView里面的每一项对应,Data里面的每一项是一个Map类型,这个Map类里边包含了ListView每一行需要的数据。比较常用的用法是:data=newArrayListMapString,Object();Resource参数:这个Resource就是一个Layout,这个Layout最起码要包含在to中出现的那些View。一般用系统提供的就可以了,当然也可以自己定义。Form参数:是一个名字的数组,每一个名字是为了在ArrayList中的每一个item中索引MapString,Object的Object用的。To参数:是一个TextView的数组,这些TextView是以id的形式来表示的,如Android.R.id.text1,这个text1在layout当中是可以索引到的。4.3滑块与进度条滑块类似于声音控制条,主要完成与用户的简单交互,而进度条则是需要长时间加载某些资源时用户显示加载进度的控件。ProgressBar类同样位于android.widget包下,但其继承自View,主要用于显示一些操作的进度。应用程序可以修改其长度表示当前后台操作的完成情况。因为进度条会移动,所以长时间加载某些资源或者执行某些耗时的操作时,不会使用户界面失去响应。ProgressBar类的使用非常简单,只需将其显示到前台,然后启动一个后台线程定时更改表示进度的数值即可。SeekBar继承自ProgressBar,是用来接收用户输入的控件。SeekBar类似于拖动条,可以直观地显示用户需要的数据,常用于声音调节等场合。SeekBar不但可以直观地显示数值的大小,还可以为其设置标度,类似于显示在屏幕中的一把尺子。RatingBar是另一种滑块控件,一般用于星级评分的场合,其位于android.widget包下,外观是5个星星,可以通过拖动来改变进度,除图片形式外,还有较小的以及较大的两种表现形式。4.4.1画廊控件画廊控件(Gallery)是Android中一种较为常见的高级控件,其效果酷炫且使用方式简单,是设计相册或者图片选择器的首选控件。Gallery是一种水平滚动的列表,一般情况下用来显示图片等资源,可以使图片在屏幕上滑来滑去。Gallery所显示的图片资源同样来自适配器。Gallery是View的子类,Gallery控件可以在XML布局文件中配置,也可以通过java代码直接操控。4.4.1画廊控件表4-2Gallery的常用属性和方法表属性名称对应方法说明android:animationDurationsetAnimationDuration(int)设置动画过渡时间android:gravitysetGravity(int)在父控件中的对齐方式android:unselectedAlphasetUnselectedAlphafloat()设置选中图片的透明度android:spacingsetSpacing(int)图片之间的空白大小4.4.2Toast的使用Toast向用户提供比较快速的即时消息,当Toast被显示时,虽然其悬浮于应用程序的最上方,但是Toast从不获取焦点。Toast对象的创建是通过Toast类的静态方法makeText来实现的,该方法有两个重载实现,主要的不同时一个接收字符串,而另一个接收字符串的资源标识符作为参数。Toast对象创建好之后,调用show()方法即可将其消息提示显示在屏幕上。一般来讲,Toast只显示比较简短的文本信息,但也可以显示图片。4.4.3Notification的使用Notification是另外一种消息提示的方式。Notification位于手机的状态栏(StatusBar),状态栏位于手机屏幕的最上层,通常显示电池电量、信号强度等信息,在Android手机中,用手指按下状态栏并往下拉可以打开状态栏查看系统的提示消息。在应用程序中可以开发自己的Notification并将其添加到系统的状态栏中,我们下面通过一个案例来具体理解Notification的使用方法。4.5.1下拉列表控件下拉列表控件(Spinner)是最常用的高级控件之一,一般用来从多个选项中选择一个需要的,例如出生日期的选择、居住城市的选择等。Spinner控件位于android.widget包下,是View类的一个子类。每次只显示用户选中的元素,当用户再次点击时,会出现选择列表供用户选择,而选择列表中的元素同样来自适配器。需要注意的是,Android中的下拉列表并不象其他系统中直接下拉显示选项,而是相当于弹出菜单供用户选择。4.5.2选项卡选项卡(TabHost)类位于android.widget包下,是选项卡的封装类,用于创建选项卡窗口。TabHost类继承自FrameLayout,是帧布局的一种,其中可以包含多个布局,用户可以根据自己的选择显示不同的界面。表4-3选项卡(TabHost)常用方法表方法名称方法说明addTab(TabHost.TabSpectabSpec)添加一项Tab页clearAllTabs()清除所有与之相关联的Tab页getCurrentTab()返回当前Tab页getTabContentView()返回包含内容的FrameLayoutnewTabSpec(Stringtag)返回一个与之关联的新的TabSpec谢谢!

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功