您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 实验2-android的界面设计(控件与布局)
实验2android的界面设计(控件与布局)学时:4学时一、实验目的:1、了解Android编程原理2、掌握界面控件设计3、了解和熟悉常用控件的使用、界面布局等内容。二、实验内容:1.基本控件的制作:(1)TextView的制作:a)体会Autolink,依次更换属性:web/phone/all/email/b)制作跑马灯效果android:ellipsize设置当文字过长时,该控件该如何显示。有如下值设置:”start”—-省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee”——以跑马灯的方式显示(动画横向移动)android:marqueeRepeatLimit在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为marquee_forever时表示无限次。android:focusableInTouchMode:是否在触摸模式下获得焦点。android:focusable控件是否能够获取焦点(2)EditView制作(a)maxLength:最大输入长度属性(b)singleLine:多行文本框(c)inputType:限制输入文本类型(d)hint:设置提示信息2.布局设计(1)LinearLayout布局:(2)RelativeLayout:(3)TableLayout3.建立一个如图所示的图形界面:4.用ListView制作如图界面(图片自定)(将该题以你的学号命名,发给你班的学习委员,以班为单位统一发给我,我的邮箱为:610083060@qq.com):5.用expandablelistview制作如下界面:6.对话框制作:(2)部分程序代码:protectedvoiddialog(){AlertDialog.Builderbuilder=newBuilder(Main.this);builder.setMessage(确认退出吗?);builder.setTitle(提示);builder.setPositiveButton(确认,newOnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){dialog.dismiss();Main.this.finish();}});builder.setNegativeButton(取消,newOnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){dialog.dismiss();}});builder.create().show();}//在onKeyDown(intkeyCode,KeyEventevent)方法中调用此方法publicbooleanonKeyDown(intkeyCode,KeyEventevent){if(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){//点后退键的时候,为了防止点得过快,触发两次后退事件dialog();}returnfalse;}(2)界面如下:部分代码:Dialogdialog=newAlertDialog.Builder(this).setIcon(android.R.drawable.btn_star).setTitle(喜好调查).setMessage(你喜欢李连杰的电影吗?).setPositiveButton(很喜欢,newOnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){//TODOAuto-generatedmethodstubToast.makeText(Main.this,我很喜欢他的电影。,Toast.LENGTH_LONG).show();}}).setNegativeButton(不喜欢,newOnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){//TODOAuto-generatedmethodstubToast.makeText(Main.this,我不喜欢他的电影。,Toast.LENGTH_LONG).show();}}).setNeutralButton(一般,newOnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){//TODOAuto-generatedmethodstubToast.makeText(Main.this,谈不上喜欢不喜欢。,Toast.LENGTH_LONG).show();}}).create();dialog.show();(3)界面如下:newAlertDialog.Builder(this).setTitle(请输入).setIcon(android.R.drawable.ic_dialog_info).setView(newEditText(this)).setPositiveButton(确定,null).setNegativeButton(取消,null).show();(4)界面如下:newAlertDialog.Builder(this).setTitle(复选框).setMultiChoiceItems(newString[]{Item1,Item2},null,null).setPositiveButton(确定,null).setNegativeButton(取消,null).show();(5)界面如下:)newAlertDialog.Builder(this).setTitle(单选框).setIcon(android.R.drawable.ic_dialog_info).setSingleChoiceItems(newString[]{Item1,Item2},0,newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhich){dialog.dismiss();}}).setNegativeButton(取消,null).show();(6)列表对话框:newAlertDialog.Builder(this).setTitle(列表框).setItems(newString[]{Item1,Item2},null).setNegativeButton(确定,null).show();(7)自定义对话框:dialog布局文件代码如下:?xmlversion=1.0encoding=utf-8?LinearLayoutxmlns:android=:layout_height=wrap_contentandroid:layout_width=wrap_contentandroid:background=#ffffffffandroid:orientation=horizontalandroid:id=@+id/dialogTextViewandroid:layout_height=wrap_contentandroid:layout_width=wrap_contentandroid:id=@+id/tvnameandroid:text=姓名:/EditTextandroid:layout_height=wrap_contentandroid:layout_width=wrap_contentandroid:id=@+id/etnameandroid:minWidth=100dip//LinearLayout程序代码:LayoutInflaterinflater=getLayoutInflater();Viewlayout=inflater.inflate(R.layout.dialog,(ViewGroup)findViewById(R.id.dialog));newAlertDialog.Builder(this).setTitle(自定义布局).setView(layout).setPositiveButton(确定,null).setNegativeButton(取消,null).show();7.制作如图所示的菜单及子菜单:(1)菜单:publicbooleanonCreateOptionsMenu(Menumenu){menu.add(Menu.NONE,1,8,删除).setIcon(android.R.drawable.ic_menu_delete);menu.add(Menu.NONE,2,2,保存).setIcon(android.R.drawable.ic_menu_edit);menu.add(Menu.NONE,3,6,帮助).setIcon(android.R.drawable.ic_menu_help);menu.add(Menu.NONE,4,1,添加).setIcon(android.R.drawable.ic_menu_add);menu.add(Menu.NONE,5,4,详细).setIcon(android.R.drawable.ic_menu_info_details);menu.add(Menu.NONE,3,3,发送).setIcon(android.R.drawable.ic_menu_send);menu.add(Menu.NONE,7,7,分享).setIcon(android.R.drawable.ic_menu_share);menu.add(Menu.NONE,8,5,查找).setIcon(android.R.drawable.ic_menu_search);menu.add(Menu.NONE,9,9,拨号).setIcon(android.R.drawable.ic_menu_call);//返回true将显示在函数中设置的菜单,否则不能够显示菜单returntrue;}(2)子菜单:publicbooleanonCreateOptionsMenu(Menumenu){intbase=Menu.FIRST;//一个menu可以包括多个子菜单SubMenusubMenu=menu.addSubMenu(base,base+1,Menu.NONE,系统设置);//子菜单可以包括多个菜单项MenuItemmenuitem1=subMenu.add(base,base+1,base+1,显示设置);subMenu.add(base,base+2,base+2,网络设置);subMenu.add(base,base+3,base+3,高级设置);subMenu.add(base,base+4,base+4,安全设置);//子菜单项不支持显示图标,这样做是没意义的,尽管不会报错!menuitem1.setIcon(R.drawable.displaysettings);//但是子菜单本身是支持图标的subMenu.setIcon(R.drawable.settings);//显示菜单请返回truereturntrue;}附加题(有兴趣的同学可以作一下)【源代码】1、主界面布局文件main.xml?xmlversion=1.0encoding=utf-8?LinearLayoutxmlns:android=:la
本文标题:实验2-android的界面设计(控件与布局)
链接地址:https://www.777doc.com/doc-5819912 .html