实验2 android的界面设计(控件与布局).doc_第1页
实验2 android的界面设计(控件与布局).doc_第2页
实验2 android的界面设计(控件与布局).doc_第3页
实验2 android的界面设计(控件与布局).doc_第4页
实验2 android的界面设计(控件与布局).doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

实验2 android的界面设计(控件与布局)学时: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)Relative Layout:(3)Table Layout3建立一个如图所示的图形界面:4.用ListView制作如图界面(图片自定) (将该题以你的学号命名,发给你班的学习委员,以班为单位统一发给我,我的邮箱为:610083060):5用expandablelistview制作如下界面:6.对话框制作:(2)部分程序代码:protected void dialog() AlertDialog.Builder builder = new Builder(Main.this); builder.setMessage(确认退出吗?); builder.setTitle(提示); builder.setPositiveButton(确认, new OnClickListener() Override public void onClick(DialogInterface dialog, int which) dialog.dismiss(); Main.this.finish(); ); builder.setNegativeButton(取消, new OnClickListener() Override public void onClick(DialogInterface dialog, int which) dialog.dismiss(); ); builder.create().show();/在onKeyDown(int keyCode, KeyEvent event)方法中调用此方法public boolean onKeyDown(int keyCode, KeyEvent event) if (keyCode = KeyEvent.KEYCODE_BACK & event.getRepeatCount() = 0) /点后退键的时候,为了防止点得过快,触发两次后退事件 dialog(); return false; (2)界面如下:部分代码:Dialog dialog = new AlertDialog.Builder(this).setIcon( android.R.drawable.btn_star).setTitle(喜好调查).setMessage( 你喜欢李连杰的电影吗?).setPositiveButton(很喜欢, new OnClickListener() Override public void onClick(DialogInterface dialog, int which) / TODO Auto-generated method stub Toast.makeText(Main.this, 我很喜欢他的电影。, Toast.LENGTH_LONG).show(); ).setNegativeButton(不喜欢, new OnClickListener() Override public void onClick(DialogInterface dialog, int which) / TODO Auto-generated method stub Toast.makeText(Main.this, 我不喜欢他的电影。, Toast.LENGTH_LONG) .show(); ).setNeutralButton(一般, new OnClickListener() Override public void onClick(DialogInterface dialog, int which) / TODO Auto-generated method stub Toast.makeText(Main.this, 谈不上喜欢不喜欢。, Toast.LENGTH_LONG) .show(); ).create(); dialog.show();(3)界面如下:new AlertDialog.Builder(this).setTitle(请输入).setIcon( android.R.drawable.ic_dialog_info).setView( new EditText(this).setPositiveButton(确定, null) .setNegativeButton(取消, null).show();(4)界面如下:new AlertDialog.Builder(this).setTitle(复选框).setMultiChoiceItems( new String Item1, Item2 , null, null) .setPositiveButton(确定, null) .setNegativeButton(取消, null).show();(5)界面如下:)new AlertDialog.Builder(this).setTitle(单选框).setIcon( android.R.drawable.ic_dialog_info).setSingleChoiceItems( new String Item1, Item2 , 0, new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int which) dialog.dismiss(); ).setNegativeButton(取消, null).show();(6)列表对话框:new AlertDialog.Builder(this).setTitle(列表框).setItems( new String Item1, Item2 , null).setNegativeButton( 确定, null).show();(7)自定义对话框:dialog布局文件代码如下: 程序代码:LayoutInflater inflater = getLayoutInflater(); View layout = inflater.inflate(R.layout.dialog, (ViewGroup) findViewById(R.id.dialog); new AlertDialog.Builder(this).setTitle(自定义布局).setView(layout) .setPositiveButton(确定, null) .setNegativeButton(取消, null).show();7制作如图所示的菜单及子菜单:(1)菜单:public boolean onCreateOptionsMenu(Menu menu) 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将显示在函数中设置的菜单,否则不能够显示菜单 return true; (2)子菜单:public boolean onCreateOptionsMenu(Menu menu) int base = Menu.FIRST; / 一个menu可以包括多个子菜单 SubMenu subMenu = menu.addSubMenu(base, base+1, Menu.NONE, 系统设置); / 子菜单可以包括多个菜单项 MenuItem menuitem1 = 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); / 显示菜单请返回truereturn true;附加题(有兴趣的同学可以作一下)【源代码】1、 主界面布局文件main.xml 2、 Listview中的item布局文件: 3、 Spinner中的ourse_list.xml 语文 数学 英语 物理 化学 生物 4、 edit_text样式的定义: 5、 spinner样式的定义: 6、 添加按钮的事件定义:public void OnAddClick(View v)/添加按钮事件 /将所输入的信息转换为字符串 String name=mTextName.getText().toString(); String id=mTextId.getText().toString(); String classes=mSpinnerCourse.getSelectedItem().toString(); String grade=mTextGrade.getText().toString(); /将所输入的信息添加到mDataList中 mDataList.add(new Item(id,name,grade,classes); /刷新listview mListAdapter.notifyDataSetChanged(); /创建toast提示添加成功 toast=Toast.makeText(getApplicationContext(), 添加成功!, Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); 7、 删除按钮的事件定义:mViewHolder.mDelButton/删除按钮事件.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View v) mArrayitem.remove(id - 1);ItemAdapter.this.notifyDataSetChanged();/创建toast提示删除成功 toast=Toast.makeText(mContext, 删除成功!, Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.sho

温馨提示

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

最新文档

评论

0/150

提交评论