实验二 android基本控件实验.docx
《实验二 android基本控件实验.docx》由会员分享,可在线阅读,更多相关《实验二 android基本控件实验.docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验二 android基本控件实验【目的】熟悉Android常用控件的基本操作,掌握它们的基本使用方法。了解控件之间的构成关系,熟悉适配器的使用原理。【要求】1、 了解控件的继承关系;2、 掌握适配器的使用;3、 掌握信息提示的实现机制;4、 实现基本界面。【原理】1. 控件类之间的关系android.view.View类(视图类)呈现了最基本的UI构造块。View类是Android中的一个超类,几乎包含了所有的屏幕类型,主要负责绘制和事件处理。Android中控件类的扩展结构如图所示。View有众多的扩展者,它们大部分是在android.widget包中,这些继承者实际上就是Android系
2、统中的“控件”。View实际上就是各个控件的基类,创建交互式的图形用户界面的基础。View的直接继承者包括文本视图(TextView)、图像视图(ImageView)、进度条(ProgressBar)等。它们各自又有众多的继承者。每个控件除了继承父类功能之外,一般还具有自己的公有方法、保护方法、XML属性等。在Android中使用各种控件的一般情况是在布局文件中可以实现UI的外观,然后在Java文件中实现对各种控件的控制动作。控件类的名称也是它们在布局文件XML中使用的标签名称。2. 控件通用行为和属性View是Android中所有控件类的基类,因此View中一些内容是所有控件类都具有的通用行
3、为和属性。 提示:由于Java语言不支持多重继承,因此Android控件不可能以基本功能的“排列组合”的方式实现。在这种情况下,为了实现功能的复用,基类的功能往往做得较强,作为控件的祖先类,View所实现的功能也是最多的。控件类经常在布局文件中使用,因此其可以使用XML属性(XMLAttributes),和Java代码经常具有对应关系。View作为各种控件的基类,其XML属性所有控件通用,XML属性及其对应的方法如表1所示。表1 View中的XML属性及其对应的方法XML属性名称Java中的方法描述android:backgroundsetBackgroundResource(int)设置背景
4、android:clickablesetClickable(boolean)设置View是否响应单击事件android:visibilitysetVisibility(int)控制View的可见性android:focusablesetFocusable(boolean)控制View是否可以获取焦点android:idsetId(int)为View设置标识符,可通过findViewById方法获取android:longClickablesetLongClickable(boolean)设置View是否响应长单击事件android:soundEffectsEnabledsetSoundEffe
5、ctsEnabled(boolean)设置当View触发单击等事件时是否播放音效android:saveEnabledsetSaveEnabled(boolean)如果未作设置,当View被冻结时将不会保存其状态android:nextFocusDownsetNextFocusDownId(int)定义当向下搜索时应该获取焦点的View,如果该View不存在或不可见,则会抛出RuntimeException异常android:nextFocusLeftsetNextFocusLeftId(int)定义当向左搜索时应该获取焦点的Viewandroid:nextFocusRightsetNextF
6、ocusRightId(int)定义当向右搜索时应该获取焦点的Viewandroid:nextFocusUpsetNextFocusUpId(int)定义当向上搜索时应该获取焦点的View其中,android:id表示控件的标识,通常需要在布局文件中指定这个属性。View中与控件标识相关的几个方法如下所示:public int getId() / 获得控件的id(int类型)public void setId(int id) / 设置控件的id(int类型)public Object getTag() / 获得控件的tag(Object类型)public void setTag(Object
7、tag) / 设置控件的tag(Object类型)对于一个控件,也就是View的继承者,整数类型id是其主要的标识。其中,getId()可以获得控件的id,而setId()可以将一个整数设置为控件的id,但是这个方法并不常用。View的id通常可以在布局文件中获得。Object类型的标识tag是控件的一个扩展标识,由于使用了Object类型,它可以接受大部分的Java类型。在一个View中根据id或者tag查找其孩子的方法如下所示:public final View findViewById(int id) public final View findViewWithTag(Object ta
8、g) findViewById()和findViewWithTag()的目的是返回这个View树中id和tag为某个数值的View的句柄。View树的含义是View及其所有的孩子。值得注意的是,id不是控件的唯一标识,例如布局文件中id是可以重复的,在这种重复的情况下,findViewById()的结果不能确保找到唯一的控件。 提示:作为控件的标识的id和tag可以配合使用:当id有重复的时候,可以通过给控件设置不同的tag,对其进行区分。可见性的问题,android:visibility在布局文件中有三个数值:visible(可见,默认),invisible(不可见),gone(去除)。在J
9、ava代码中,setVisibility()能使用的枚举值与其对应,它们是:View.VISIBLE(0x0),View.INVISIBLE(0x4),View.GONE(0x8)。3. 数据适配器工作原理Adapter是视图与数据之间的桥梁,Adapter用来帮助填充视图中的数据,提供视图对数据的访问方式,通过它将数据填充到控件中,为在数据集里的每个数据项生成一个View。 常用Adapter包括ArrayAdapter, BaseAdapter, CursorAdapter, HeaderViewListAdapter, ListAdapter, ResourceCursorAdapter
10、, SimpleAdapter, SimpleCursorAdapter, SpinnerAdapter, WrapperListAdapter。各个AdapterView之间的继承关系如图:基类BaseAdapter有一个重要的方法:public abstract View getView (int position,View convertView,ViewGroup parent)参数Int position :该视图在适配器数据集中的位置View convertView :旧视图,也就已经滚出可视区的视图ViewGroup parent :当前视图最终会被附加到的父级视图 这个方法被s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验二 android基本控件实验 实验 android 基本 控件
限制150内