Android常用控件及使用方法_第1页
Android常用控件及使用方法_第2页
Android常用控件及使用方法_第3页
Android常用控件及使用方法_第4页
Android常用控件及使用方法_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Unicair Communication Tec Co., Ltd.烟台友开通信技术有限公司1.TextView1.TextView的用法的用法 2.EditText 2.EditText的用法的用法3.Button3.Button的用法的用法 4. 4.ImageButtonImageButton的用法的用法5.CheckBox5.CheckBox的用法的用法 6.RadioButton 6.RadioButton的用法的用法7.7.SpinnerSpinner的用法的用法 8. 8.LiseViewLiseView的用法的用法9.TabHost9.TabHost的用法的用法 10.Scr

2、ollView10.ScrollView的用法的用法11.ProgressBar11.ProgressBar的应用的应用 12.ImageView12.ImageView的应用的应用13.AutoCompleteTextView13.AutoCompleteTextView的应用的应用14.ImageSwitcher&Gallery14.ImageSwitcher&Gallery的应用的应用15.GridView15.GridView的应用的应用uTextViewTextView是一种用于显示字符串的控件是一种用于显示字符串的控件uEditTextEditText则是用来输入和编辑字符串的控件

3、则是用来输入和编辑字符串的控件EditTextEditText是是 一个具有编辑功能的一个具有编辑功能的TextViewTextView 建立一个建立一个“TextViewDemoTextViewDemo”的程序,包含的程序,包含TextViewTextView和和 EditTextEditText两个控件。上方两个控件。上方“用户名用户名”部分使用的是部分使用的是 TextViewTextView,下方的文字输入框使用的是,下方的文字输入框使用的是EditTextEditText。uTextViewDemoTextViewDemo在在XMLXML文件中的代码文件中的代码 第第2行的行的and

4、roid:layout_width属性用来设置属性用来设置TextView的宽度,的宽度,wrap_content表示表示TextView宽度只要能够包含所显示的字符串即可宽度只要能够包含所显示的字符串即可 第第3行的行的android:layout_height属性用来设置属性用来设置TextView的高度的高度 第第4行表示行表示TextView所显示的字符串,在后面将通所显示的字符串,在后面将通 过代码更改过代码更改TextView的显示内容的显示内容 第第7行中行中“fill_content”表示表示EditText的宽度将等于父控件的宽度的宽度将等于父控件的宽度uTextViewDe

5、mo.javaTextViewDemo.java文件中代码的修改文件中代码的修改 TextView textView = (TextView)findViewById(R.id.TextView01); EditText editText = (EditText)findViewById(R.id.EditText01); textView.setText(用户名:用户名:); editText.setText();u第第1行代码的行代码的findViewById()函数能够通过函数能够通过ID引用界面引用界面上的任何控件,只要该控件在上的任何控件,只要该控件在XML文件中定义过文件中定义过I

6、D即可。即可。u第第3行代码的行代码的setText()函数用来设置函数用来设置TextView所显示的所显示的内容。内容。Button是一种按钮控件,用户能够在该控件上点击,并能引发相应是一种按钮控件,用户能够在该控件上点击,并能引发相应的事件处理函数。的事件处理函数。ImageButton用以实现能够显示图像功能的控件按钮。建立一个用以实现能够显示图像功能的控件按钮。建立一个“ButtonDemo”的程序,包含的程序,包含Button和和 ImageButton两个按钮,上两个按钮,上方是方是“Button按钮按钮”,下方是一个,下方是一个ImageButton控件。控件。 定义定义But

7、ton控件的高度、宽度和内容控件的高度、宽度和内容定义定义ImageButton控件的高度和宽度,但是没定义显示的控件的高度和宽度,但是没定义显示的 图像,在后面的代码中进行定义图像,在后面的代码中进行定义引入资源引入资源1.将将download.png文件拷贝到文件拷贝到/res/drawable文文件夹下件夹下2.在在/res目录上选择目录上选择Refresh,新添加的新添加的文件将显示文件将显示/res/drawabl文件文件夹下夹下* R.java文件内容文件内容也得到了更新也得到了更新* 否则提示无法找否则提示无法找到资源的错误到资源的错误u更改更改Button和和ImageButt

8、on内容内容,引入引入 android.widget.Button和和android.widget.ImageButton Button button = (Button)findViewById(R.id.Button01); ImageButton imageButton = (ImageButton)findViewById(R.id.ImageButton01); button.setText(Button按钮按钮); imageButton.setImageResource(R.drawable.download); 第第1行代码用于引用在行代码用于引用在XML文件中定义的文件中定义

9、的Button控件控件 第第2行代码用于引用在行代码用于引用在XML文件中定义的文件中定义的ImageButton控件控件 第第3行代码将行代码将Button的显示内容更改为的显示内容更改为“Button按钮按钮” 第第4行代码利用行代码利用setImageResource()函数,将新加入的函数,将新加入的png文件文件R.drawable.download传递给传递给ImageButton*按钮响应点击事件:添加点击事件的监听器按钮响应点击事件:添加点击事件的监听器final TextView textView = (TextView)findViewById(R.id.TextView0

10、1);button.setOnClickListener(new View.OnClickListener() public void onClick(View view) textView.setText(Button按钮按钮););imageButton.setOnClickListener(new View.OnClickListener() public void onClick(View view) textView.setText(ImageButton按钮按钮);); 第第2行代码中行代码中button对象通过调用对象通过调用setOnClickListener()函数,注册一个

11、点击(函数,注册一个点击(Click)事件的监听器)事件的监听器View.OnClickListener() 第第3行代码是点击事件的回调函数行代码是点击事件的回调函数 第第4行代码将行代码将TextView的显示内容更改为的显示内容更改为“Button按钮按钮”uView.OnClickListener()View.OnClickListener()是是View定义的点击事件的监听器定义的点击事件的监听器 接口,并在接口中仅定义了接口,并在接口中仅定义了onClick()函数函数当当Button从从Android界面框架中接收到事件后,首先检查界面框架中接收到事件后,首先检查 这个事件是否是

12、点击事件,如果是点击事件,同时这个事件是否是点击事件,如果是点击事件,同时 Button又注册了监听器,则会调用该监听器中的又注册了监听器,则会调用该监听器中的onClick() 函数函数每个每个View仅可以注册一个点击事件的监听器,如果使用仅可以注册一个点击事件的监听器,如果使用 setOnClickListener()函数注册第二个点击事件的监听函数注册第二个点击事件的监听 器,之前注册的监听器将被自动注销器,之前注册的监听器将被自动注销多个按钮注册到同一个点击事件的监听器上,代码如下多个按钮注册到同一个点击事件的监听器上,代码如下Button.OnClickListener butto

13、nListener = new Button.OnClickListener()Overridepublic void onClick(View v) switch(v.getId()case R.id.Button01:textView.setText(Button按钮按钮);return;case R.id.ImageButton01:textView.setText(ImageButton按钮按钮);return; ; button.setOnClickListener(buttonListener); imageButton.setOnClickListener(buttonListe

14、ner); 第第1行至第行至第12行代码定义了一个名为行代码定义了一个名为buttonListener的点击事件监听器的点击事件监听器 第第13行代码将该监听器注册到行代码将该监听器注册到Button上上 第第14行代码将该监听器注册到行代码将该监听器注册到ImageButton上上* CheckBox是一个同时可以选择多个选项的控件是一个同时可以选择多个选项的控件* RadioButton则是仅可以选择一个选项的控件则是仅可以选择一个选项的控件* RadioGroup是是RadioButton的承载体,程序运行时不可见,应用程序中可的承载体,程序运行时不可见,应用程序中可 能包含一个或多个能

15、包含一个或多个RadioGroup。一个。一个RadioGroup包含多个包含多个RadioButton,在,在 每个每个RadioGroup中,用户仅能够选择其中一个中,用户仅能够选择其中一个RadioButton。建立一个。建立一个“CheckboxRadiobuttonDemo”程序,包含五个控件,从上至下分别是程序,包含五个控件,从上至下分别是 TextView01、CheckBox01、CheckBox02、RadioButton01、RadioButton02 当选择当选择RadioButton01, RadioButton02则无法选择则无法选择CheckboxRadiobutt

16、onDemo在在XML文件中的代码文件中的代码 第第15行行标签声明了一个标签声明了一个RadioGroup 第第18行和第行和第23行分别声明了两个行分别声明了两个RadioButton,这两个,这两个RadioButton是是RadioGroup的子元素的子元素u 引用引用CheckBox和和RadioButton的方法参考下面的代码的方法参考下面的代码 CheckBox checkBox1= (CheckBox)findViewById(R.id.CheckBox01); RadioButton radioButton1= (RadioButton)findViewById(R.id.R

17、adioButton01);uCheckBox设置点击事件监听器的简要代码设置点击事件监听器的简要代码 CheckBox.OnClickListener checkboxListener = new CheckBox.OnClickListener()Overridepublic void onClick(View v) /过程代码过程代码; checkBox1.setOnClickListener(checkboxListener); checkBox2.setOnClickListener(checkboxListener);u与与Button设置点击事件监听器中介绍的方法相似,唯一不同在

18、于将设置点击事件监听器中介绍的方法相似,唯一不同在于将 Button.OnClickListener换成了换成了CheckBox.OnClickListeneruRadioButton设置点击事件监听器的方法设置点击事件监听器的方法 RadioButton.OnClickListener radioButtonListener = new RadioButton.OnClickListener()Override public void onClick(View v) /过程代码过程代码; radioButton1.setOnClickListener(radioButtonListener)

19、; radioButton2.setOnClickListener(radioButtonListener);uSpinner是一种能够从多个选项中选一选项的控件,类似于桌面程序的组合框(ComboBox),但没有组合框的下拉菜单,而是使用浮动菜单为用户提供选择。u建立一个程序“SpinnerDemo”包含3个子项Spinner控件u SpinnerDemo在XML文件中的代码 第第5行使用行使用标签声明了一个标签声明了一个Spinner控件控件 第第6行代码中指定了该控件的宽度为行代码中指定了该控件的宽度为300dipu在在SpinnerDemo.java文件中,定义一个文件中,定义一个Ar

20、rayAdapter适配器,在适配器,在 ArrayAdapter中添加需要在中添加需要在Spinner中可以选择的内容,需要在代码中中可以选择的内容,需要在代码中 引入引入android.widget.ArrayAdapter和和android.widget.Spinner Spinner spinner = (Spinner) findViewById(R.id.Spinner01); List list = new ArrayList();list .add(Spinner子项1);list .add(Spinner子项2);list .add(Spinner子项3); ArrayAda

21、pter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, list ); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); 第2行代码建立了一个字符串数组列表(ArrayList),这种数组列表可以根据需要进行增减。表示数组列表中保存的是字符串类型的数据在代码的第3、4、6行中,使用add()函数分别向数组列表中添加3个字符串。 第6行

22、代码建立了一个ArrayAdapter的数组适配器,数组适配器能够将界面控件和底层数据绑定在一起 第7行代码设定了Spinner的浮动菜单的显示方式,其中,android.R.layout.simple_spinner_dropdown_item是Android系统内置的一种浮动菜单第8行代码实现绑定过程,所有ArrayList中的数据,将显示在Spinner的浮动菜单中u设置android.R.layout.simple_spinner_item浮动菜单,显示结果如图适配器绑定界面控件和底层数据,如果底层数据更改了,用户界面也相应修改显示内容,就不需要应用程序再监视,从而极大的简化的代码的复

23、杂性uListView是一种用于垂直显示的列表控件,如果显示内容过多, 则 会出现垂直滚动条uListView能够通过适配器将数据和自身绑定,有限的屏幕上提供大 量内容供用户选择,所以是经常使用的用户界面控件uListView支持点击事件处理,用户可以用少量代码实现复杂的选择 功能建立一个“ListViewDemo” 程序,包含四个控件,从上至下分别为TextView01、 ListView01、 ListView02和 ListView03 -u ListViewDemo在在XML文件中的代码文件中的代码 步骤和前面基本是一样的。步骤和前面基本是一样的。u 在在ListViewDemo.ja

24、va文件中,首先需要为文件中,首先需要为ListView创建适配器,并创建适配器,并添加添加ListView中所显示的内容中所显示的内容 final TextView textView = (TextView)findViewById(R.id.TextView01); ListView listView = (ListView)findViewById(R.id.ListView01); List list = new ArrayList(); list.add(ListView子项子项1); list.add(ListView子项子项2); list.add(ListView子项子项3);

25、 ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, list ); listView.setAdapter(adapter); 第第2行代码通过行代码通过ID引用了引用了XML文件中声明的文件中声明的ListView 第第7行代码声明了适配器行代码声明了适配器ArrayAdapter,第三个参数,第三个参数list说明配器的数据说明配器的数据源为数组列表源为数组列表 第第8行代码将行代码将ListView和适配器绑定和适配器绑定u 下面的代码声明了ListView子项的点击事件监听

26、器,用以确定用户在ListView中,选择的是哪一个子项 AdapterView.OnItemClickListener listViewListener = new AdapterView.OnItemClickListener()Override public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) String msg =“”; textView.setText(msg); listView.setOnItemClickListener(listViewListener); 第1行的Adapte

27、rView.OnItemClickListener是ListView子项的点击事件监听器,同样是一个接口,需要实现onItemClick()函数。在ListView子项被选择后,onItemClick()函数将被调用 第3行的onItemClick()函数中一共有四个参数,参数0表示适配器控件,就是ListView;参数1表示适配器内部的控件,是ListView中的子项;参数2表示适配器内部的控件也就是子项的位置;参数3表示子项的行号。 第4行和第5行代码用于显示信息,选择子项确定后,在TextView中显示子项父控件的信息、子控件信息、位置信息和ID信息。 第7行代码是ListView指定刚

28、刚声明的监听器TabHostuTab标签页是界面设计时经常使用的界面控件,可以实现多个分页之间的快速切换,每个分页可以显示不同的内容右图是Android系统内置的Tab标签页,点击“呼出/接听键”后出现,用于电话呼出和查看拨号记录、联系人uTab标签页的使用 首先要设计所有的分页的界面布局,在分页设计完成后,使用代码 建立Tab标签页,并给每个分页添加标识和标题,最后确定每个分 页所显示的界面布局u每个分页建立一个XML文件,用以编辑和保存分页的界面布局,使 用的方法与设计普通用户界面没有什么区别u TabHost是整个Tab的容器,包括两部分,TabWidget和 FrameLayout。T

29、abWidget就是每个tab的标签,FrameLayout 则是tab内容。 TabHost建立一个“TabDemo”程序,包含三个XML文件,分别为tab1.xml、tab2.xml和tab3.xml,这3个文件分别使用线性布局、相对布局和绝对布局示例中的main.xml的代码,并将布局的ID分别定义为layout01、layout02和layout03tab1.xml文件代码tab2.xml文件代码tab3.xml文件代码LinearLayout android:id = +id/layout01 AbsoluteLayout android:id=+id/layout02 Relati

30、veLayout android:id=+id/layout03 TabHostu在TabDemo.java文件中键入下面的代码,创建Tab标签页,并建立子页与界面布局直接的关联关系public class TabDemo extends TabActivity Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); TabHost tabHost = getTabHost(); LayoutInflater.from(this).inflate(R.layout.

31、tab1,tabHost.getTabContentView(),true); LayoutInflater.from(this).inflate(R.layout.tab2,tabHost.getTabContentView(),true); LayoutInflater.from(this).inflate(R.layout.tab3,tabHost.getTabContentView(),true); tabHost.addTab(tabHost.newTabSpec(TAB1).setIndicator(线性布局线性布局).setContent(R.id.layout01); tabH

32、ost.addTab(tabHost.newTabSpec(TAB2)setIndicator(绝对布局绝对布局).setContent(R.id.layout02); tabHost.addTab(tabHost.newTabSpec(TAB3).setIndicator(相对布局相对布局).setContent(R.id.layout03); TabHost第1行代码的声明TabDemo类继承于TabActivity,如同 ListActivity第4行代码通过getTabHost()函数获得了Tab标签页的容器,用以 承载可以点击的Tab标签和分页的界面布局。第5行代码通过LayoutI

33、nflater将tab1.xml文件中的布局转换为 Tab标签页可以使用的View对象第7行代码使用addTab()函数添加了第1个分页, tabHost.newTabSpec(TAB1)表明在第4行代码中建立的 tabHost上,添加一个标识为TAB1的Tab分页第9行代码使用setIndicator()函数设定分页显示的标题,使用 setContent()函数设定分页所关联的界面布局TabDemo示例的运行结果如图TabHostu在使用Tab标签页时,可以将不同分页的界面布局保存在 不同的XML文件中,也可以将所有分页的布局保存在同一 个XML文件中u第一种方法有利于在Eclipse开发环

34、境中进行可视化设 计,并且不同分页的界面布局在不同的文件中更加易于 管理第二种方法则可以产生较少的XML文件,同时编码时 的代码也会更加简洁ScrollView:滚动视图,将一个屏幕显示不了的内容通过滚动显示出来滚动视图,将一个屏幕显示不了的内容通过滚动显示出来这个组件的使用比较直观,直接在这个组件的使用比较直观,直接在LinearLayout外面再增加外面再增加ScrollView组件申明即可。实现代码如下:组件申明即可。实现代码如下:这里将这里将ScrollView套在套在LinearLayout外面,使得当外面,使得当LinearLayout的内容超过一个屏的内容超过一个屏幕的时候可以滚

35、动浏览。右图给幕的时候可以滚动浏览。右图给出一个运行程序后的示例出一个运行程序后的示例。uProgressBar最直观的感觉就是进度条的显示,Android中进度条有很多种,最常见的是圆形进度条和水平进度条。在xml中:ProgressBar android:id=+id/firstBar“ style=?android:attr/progressBarStyleHorizontal android:layout_width=200dp android:layout_height=wrap_content“ android:max=“200” android:visibility=gone/

36、ProgressBar android:id=+id/secondBar“ style=?android:attr/progressBarStyle android:layout_width=wrap_content android:layout_height=wrap_content android:visibility=gone/ ImageViewu ImageView组件,主要作用是展示图片。 这里先在main.xml文件中添加一个按钮,用以打开演示ImageView组件的界面,实现代码如下: 设定完按钮后,编写响应代码: Button image_view_button =(Butt

37、on)findViewById(R.id.image_view_button); image_view_button.setOnClickListener(image_view_button_listener); private Button.OnClickListener image_view_button_listener = new Button.OnClickListener() public void onClick(View v) Intent intent = new Intent();intent.setClass(MainActivity.this, ImageViewAct

38、ivity.class);startActivity(intent); ;ImageView 在单击按钮后,会启动一个新的ImageViewActivity,所以这里我们应该创建一个新的ImageViewActivity.java文件。实现代码如下:public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setTitle(“Test_ImageView);setContentView(R.layout.image_view); 在上面代码调用了一个image_view.xml的文件,对

39、应设计代码如下: 最后在AndroidManifest.xml中添加上对该Activity的申 请,实现代码如下:单击“图片视图按钮”显示结果如右图所示u编写AutoCompleteTextView的方法: 在在Activity的布局文件中添加的布局文件中添加AutoCompleteTextView: 新建一个布局文件新建一个布局文件list1用于设置自动完成控件的提示框样式:用于设置自动完成控件的提示框样式: 在在Activity中获取中获取AutoCompleteTextView并使用并使用ArrayAdapter设置设置.AutoCompleteTextView autoComplete

40、TextView = (AutoCompleteTextView)findViewById(R.id.autocompleteId);/创建一个创建一个list,为,为ArrayAdapter提供数据提供数据List list = new ArrayList();list.add(“chile);list.add(“china);ArrayAdapter arrayAdapter = new ArrayAdapter(this,R.layout.list1,list);autoCompleteTextView.setAdapter(arrayAdapter);ImageSwitcher&Gal

41、leryImageSwitcher&Galleryu ImageSwitcher 和 Gallery组件配合可以完成水平拖动,并且中间显示的特殊表达形式。最终实现的是在屏幕上面展示一个大图,在屏幕下面是一组可以滚动的图片。 ImageSwitcher&GalleryImageSwitcher&GalleryuImageShowActivity.java的代码实现代码如下:public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);requestWindowFeature(Window.FE

42、ATURE_NO_TITLE); setContentView(R.layout.image_show); setTitle(“little boy); mSwitcher = (ImageSwitcher) findViewById(R.id.switcher); mSwitcher.setFactory(this); mSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in); mSwitcher.setOutAnimation(AnimationUtils.loadAnimatio

43、n(this, android.R.anim.fade_out);Gallery g = (Gallery) findViewById(R.id.gallery); g.setAdapter(new ImageAdapter(this); g.setOnItemSelectedListener(this); requestWindowFeature(Window.FEATURE_NO_TITLE);是使得这个Activity没有 titlebar,进而这个图片显示区域会增大。Gallery这个类和ListView这个类使用方法差不多,也是要利用setAdapter来进行 资源的设置。这里对Ba

44、seAdapter进行封装,通过getView这个函数来返回要显示 的那个ImageView ImageSwitcher&GalleryImageSwitcher&Galleryu getView实现代码如下: public View getView(int position, View convertView, ViewGroup parent) ImageView i = new ImageView(mContext); i.setImageResource(mThumbIdsposition); /源文件 i.setAdjustViewBounds(true); i.setLayoutParams(new Gallery.LayoutParams( /大小 LayoutParams.WRAP_CONTENT,LayoutParams.W

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论