ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:434.43KB ,
资源ID:6617283      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6617283.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(android常用控件及布局.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

android常用控件及布局.docx

1、android常用控件及布局一、概述 Android的控件体系分为三个类别: 1、基本控件 2、布局 3、容器 这三类控件主要分布在两个包中: 1、android.view 提供抽象接口 2、android.widget 提供系统内置的大部分控件 整个系统得控件都继承自android.view.View ,而布局及容器类继承自android.view.ViewGroup。 基本控件主要包括ImageView、ProgressBar、SurfaceView、TextView、EditText等。 布局 虽然布局跟容器均继承自android.view.ViewGroup,但并不像SWT那样提供了面

2、板+布局的结构,而是每种Layout就是一中特殊的面板,包括AbsoluteLayout、FrameLayout、LinearLayout、TableLayout、RelativeLayout等。 容器 这里的容器是指采用了特定的布局并且提供了行为的控件,包含ListView、GridView、Gallery、Spinner等。 二、android常用控件 android常用控件之TextView、EditView、Button、Menu示例:一个计算应用程序,输入2个数字,点击按钮进行计算两个数的积并且返回结果。当点击模拟器右侧的Menu按钮,在输入界面中显示一个有关于和退出的菜单。项目运行

3、效果图:开发步骤:1、 新建一个Android项目2、 在布局文件中依次添加EditText、TextView、EditText、Button(一定要按照界面上控件显示的顺序在布局文件中添加)3、 再新建一个布局文件用来显示计算的结果;在这个布局文件中添加一个LinearLayout和一个TextView(默认的布局文件中默认就有一个LinearLayout,所以不需要手动添加,新建的布局文件默认为空,所以需要手动添加)4、 编写第一个Activitya) 让Activity继承android的Activityb) 重写Activity的onCreate()方法c) 设置这个Activity的

4、布局文件d) 根据控件id获得控件对象e) 设置控件的值,这个值引用的是string.xml中的值,所以还需要在string.xml文件中设置(最好是使用string.xml中的值,以便实现国际化);这个在布局文件中也能设置;5、 新建一个Activity,ResultActivitya) 让Activity继承android的Activityb) 重写Activity的onCreate()方法c) 设置这个Activity的布局文件d) 根据控件id获得控件对象6、 在第一个Activity中编写Button的监听器a) 取得两个EditText控件的值b) 创建Intent对象c) 将这两

5、个值存放到Intent对象当中d) 使用Intent对象启用ResultActivitye) 将监听器与Button绑定7、 在第二个Activity(ResultActivity)中获得Intent对象a) 获得Intent对象中保存的值并强制转换成int类型b) 计算两个值的积c) 设置控件值8、 在第一个Activity中,重写onCreateOptionsMenu()方法,这个方法是用于添加菜单中的菜单项,我们添加两个菜单项9、 再在第一个Activity中重写onOptionsItemSelected()方法,这个方法是当点击菜单中菜单项时调用。判断,当点击退出的时候调用finish

6、()方法 android常用控件之RadioGroup RadioButton CheckBox Toast的使用RadioGroup、RadioButton的用法RadioGroup是RadioButton的组。一个RadioGroup里面可以有多个RadioButton,但是只能选中其中的一个RadioButton。示例:一个应用程序中有两个单选按钮,用于选择男或女。开发步骤:1、 新建一个Android应用程序2、 编写main.xml文件,添加一个RadioGroup标签(还可以设置此标签内的布局方向是水平布局还是垂直布局)3、 在RadioGroup标签内添加两个RadioButto

7、n4、 编写Activity,先声明3个全局变量,用于接收这三个控件对象5、 在onCreate()方法内,根据控件id获得这三个对象并赋给相应的变量6、 编写监听器,监听器实现的是RadioGroup.OnCheckedChangeListener()提供的接口,需要重写里面的public void onCheckedChanged(RadioGroup group, int checkedId) 方法,这个方法的第一个参数是用来接收RadioGroup对象,第二个参数是用来接收被选中的RadioButton的ID。在这个方法里面可以做一系列的判断和操作,比如判断RadioButton的id

8、是否等于checkedId,如果等于就可以输出一句话或者使用Toast显示提示消息。7、将监听器绑定到RadioGroup上需要主要的是,a)、这里绑定监听器的是RadioGroup对象而不是RadioButton对象b)、这里的监听器实现的是RadioGroup.OnCheckedChangeListener()提供的接口。CheckBox的用法CheckBox复选框,相信大家都很了解了,这里就不多说了,直接上示例。示例:一个应用程序中有三个复选框,可以进行多选操作。开发步骤:1、 新建一个Android应用程序2、 编写main.xml文件,添加三个CheckBox标签3、 编写Activ

9、ity,先声明3个全局变量,用于接收这三个控件对象4、 为每一个CheckBox都编写一个监听器,该监听器实现的是CompoundButton.OnCheckedChangeListener()提供的接口,需要重写里面的public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)方法,这个方法的第一个参数是用来接收CompoundButton对象,第二个参数是用来接收是否被选中,在这个方法里面可以做一系列的判断和操作,比如判断某个CheckBox有没有被选中5、 将监听器绑定在对应的CheckBox上Toa

10、st的用法Toast主要用于提示信息,用起来很方便,一行代码就OK了。1、 创建Toast对象makeText(Context context, CharSequence text, int duration);通过调用这个方法,返回一个Toast对象。第一个参数是上下文对象,通常是你的应用程序或者Activity对象,第二个参数就是要显示的文本内容,可以格式化文本第三个参数是持续多长时间来显示消息,有两个常量:LENGTH_SHORT 或者LENGTH_LONG2、 调用show()方法显示。Toast toast = Toast.makeText(RadioTest.this, femal

11、e, Toast.LENGTH_SHORT);toast.show();在前面的RadioButton示例中,当选中女的单选框时调用Toast。 有一点需要注意的是:RadioGroup的监听器实现是RadioGroup.OnCheckedChangeListener()提供的接口,而CheckBox的监听器实现的是CompoundButton.OnCheckedChangeListener()提供的接口为什么RadioGroup和CheckBox实现的不是同一个接口呢?原因大概是因为:在RadioGroup.OnCheckedChangeListener()里面的onCheckedChang

12、ed(RadioGroup group, int checkedId) 方法它里面需要的是一个RadioGroup参数,而RadioGroup并不是CompoundButton的子类,所以它只能再重新写一个这样的接口。而CheckBox它本身就是CompoundButton的子类,所以它可以直接使用这个接口。 android常用控件之ProgressBar、ListViewProgressBar(进度条)的使用示例:一个应用程序有2个ProgressBar,让进度条显示进度。开发步骤:1、 新建一个android项目2、 在main.xml布局文件中先添加1个ProgressBar控件(fir

13、stProgressBar),设置这个进度条是以水平方式展示的,然后再设置这个控件为不显示(这里暂时不显示,我们在后面的程序中写代码将这个控件设置为显示)3、 在main.xml布局文件中再添加1个ProgressBar控件(secondProgressBar),设置该标签的显示样式为默认的(是一个转动的圆圈),然后再同样设置这个控件暂时为不显示4、 在main.xml布局文件中再添加一个Button控件5、 在Activity中编写代码,先获得这2个ProgressBar和Button对象6、 然后编写一个监听器,设置进度条的进度,当每点击一次Button,进度则增加107、 将监听器绑定到

14、Button对象上下图为main.xml布局文件的片段:最后项目实现的效果为:ListView的使用ListView的使用相对于之前使用到的一些控件而言要复杂一点,在这里呢,同样是通过一个示例来讲解。 示例:一个应用程序有一个ListView,显示三行信息。最后项目实现的效果为:开发步骤:1、 新建一个Android应用程序2、 在布局文件中再添加一个LinearLayout(应用程序新建的时候默认的布局文件里就已经有了一个LinearLayout,现在再添加一个),设置这个LinearLayout的一些属性。3、 在LinearLayout中添加一个ListView,并设置一些属性。4、 新

15、建一个布局文件,这个布局文件呢,是用来布局和显示ListView里面的内容的(我是这样理解的,不知道大家能不能理解哈)。先在这个布局文件中添加一个LinearLayout,然后在LinearLayout中添加两个TextView,表示显示两列数据(如果需要显示多列数据的话当然就是添加多个TextView了)。 Xml代码 5、 编写Activitya) 首先要注意的是,这个Activity他继承的不是Activity,而是ListActivity。b) 创建一个ArrayList,里面存放的是HashMap,而HashMap的键值对都是String类型。c) 分别往3个HashMap中存储值d

16、) 将3个HashMap添加到ArrayList中e) 创建适配器f) 绑定到适配器g) 编写行的点击事件 Java代码 package android.listview; import java.util.ArrayList; import java.util.HashMap; import android.app.ListActivity; import android.os.Bundle; import android.view.View; import android.widget.ListView; import android.widget.SimpleAdapter; /注意:这

17、里继承的是ListActivity,而不是Activity public class ListViewTest extends ListActivity /* Called when the activity is first created. */ Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); / 创建一个ArrayList,ArrayList里面存放的是HashMap,而HashMap的键值

18、对都是String类型 ArrayListHashMap list = new ArrayListHashMap(); HashMap map1 = new HashMap(); HashMap map2 = new HashMap(); HashMap map3 = new HashMap(); / 分别往3个HashMap中存储值 map1.put(user_name, zhangsan); map1.put(user_ip, 192.168.0.1); map2.put(user_name, lisi); map2.put(user_ip, 192.168.0.2); map3.put(

19、user_name, wangwu); map3.put(user_ip, 192.168.0.3); / 将3个HashMap添加到ArrayList中 list.add(map1); list.add(map2); list.add(map3); /创建适配器 /第一个参数Content:上下文 /第二个参数List? extends Map:ArrayList对象,ArrayList里面存放的是HashMap,而HashMap的键值对都是String类型 /第三个参数int resource:内容显示的布局文件 /第四个参数String from:被添加到ArrayList中的HashM

20、ap中key的名称,要显示的列 /第五个参数int to:内容显示的布局文件中,显示内容的控件id SimpleAdapter listAdapter = new SimpleAdapter(this, list, R.layout.user, new String user_name, user_ip , new int R.id.user_name, R.id.user_ip ); /绑定到适配器。 setListAdapter(listAdapter); /* * 列表当中一行的点击事件 * ListView:ListView对象本身 * View:被选中的那一行的View对象 * po

21、sition:被选中的那一行的位置 * id:被选中的那一行的id */ Override protected void onListItemClick(ListView l, View v, int position, long id) / TODO Auto-generated method stub super.onListItemClick(l, v, position, id); /打印出被选中的那一行的位置和id,计数都是从0开始 System.out.println(-+position); System.out.println(-+id); 三、android布局 androi

22、d有多种布局格式,这里只是详细介绍常用的五种格式。RelativeLayout、LinearLayout、FrameLayout、AbsoluteLayout、TableLayout.。其中LinearLayout和RelativeLayout是最常用的格式,他们可以通过xml配置文件进行布局。可以查看相关api: 我这里这是简单介绍这五种格式. 1、FrameLayout 最简单的布局格式,他可以防止任何空件,但是都只能罗列到左上角,不能进行复杂的布局。 可以明显的看到两个视图重叠到了一起。这种布局很少用到。 2、LinearLayout LinearLayout以你为它设置的垂直或水平的属

23、性值,来排列所有的子元素。所有的子元素都被堆放在其它元素之后,因此一个垂直列表的每一行只会有 一个元素,而不管他们有多宽,而一个水平列表将会只有一个行高. 可以进行复杂的布局的编排。他是线性的布局。 它可以排出相当复杂的界面,同时可以嵌套使用,所以大多数选择他来进行布局。 3、AbsoluteLayout AbsoluteLayout 可以让子元素指定准确的x/y坐标值,并显示在屏幕上。AbsoluteLayout 没有页边框,允许元素之间互相重叠(尽管不推荐)。他是绝对坐标,所以在实际中不提倡使用。 4、RelativeLayout RelativeLayout 允许子元素指定他们相对于其它

24、元素或父元素的位置(通过ID指定)。因此,你可以以右对齐,或上下,或置于屏幕中央的形式来 排列两个元素。元素按顺序排列,因此如果第一个元素在屏幕的中央,那么相对于这个元素的其它元素将以屏幕中央的相对位置来排列。这个是相对于AbsoluteLayout 的,采用的相对坐标,所以在实际中比较常用。 5、TableLayout TableLayout 将子元素的位置分配到行或列中。一个TableLayout 由许多的TableRow 组成,每个TableRow 都会定义一个 row 。TableLayout 容器不会显示row 、cloumns 或cell 的边框线。每个 row 拥有0个或多个的c

25、ell ;和html中的table查不多少。在实际中也经常使用。 Android布局详解 之前对于XML的布局方法一直看着不爽,感觉很乱的样子,但时间长了我渐渐发现,这种程序代码与界面布局完全分开的方法非常顺手,该布局的地方都到main.xml里去写,甚至界面中显示的字符串都可以集中到string.xml文件中,而主程序的.java文件中则完全用于编写代码,思路非常清晰。 首先按照程序的目录结构大致分析: res/layout/ 这个目录存放的就是布局用的xml文件,一般默认为main.xml res/values/ 这个目录存放的是一堆常量的xml文件 res/drawable/ 存放的是一

26、些图片什么的,当然图标也在这里 下面主要对layout下的xml文件做个介绍,顺便也把布局的方法总结一下: 文件的开头: 这是在说明xml版本及字符编码 紧接着到了关键的部分: 其中开头的LinearLayout是布局的方式,可以有很多种,最常用的应该就是Linear了,其他的布局方法等下在后面总结。 接着android:layout_width(height)=wrap_content是在设置这部分布局的宽高,也可以是绝对值,当然设置为绝对值时要标上单位。 在和就之间可以添加控件了,比如要添加一个名字为btn的Button控件,并且Button上显示的文字是Test!,可以这样写: 开头id后面的就是控件名称,在用于添加事件Listener时会用到,而下几行的android:xxx就是设置控件的属性了,这些属性在Android的文档中都有,不需要特别去记,一般现查就可以了。 有一点要说明的是,布局方法可以嵌套,有点像java中的Container,可以非常方便的把界面堆出来。 布局方式的简单说明: 查了Android文档发现布局确实很多,只列出两个我自己认为较常用的: LinearLayout线性的布局方式,要么上

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1