实验2 Android应用界面开发(1).doc_第1页
实验2 Android应用界面开发(1).doc_第2页
实验2 Android应用界面开发(1).doc_第3页
实验2 Android应用界面开发(1).doc_第4页
实验2 Android应用界面开发(1).doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

实验2、Android应用界面开发(1)一、 实验目的1. 了解View类、ViewGroup的作用2. 掌握常用布局管理器的使用3. 掌握XML界面控制的设计方法4. 掌握常用的界面设计组件的功能q TextView和EditText的功能和用法q Button和ImageButton的功能和用法q RadioButton和CheckBox的功能和用法q ToggleButton的功能和用法q 时钟的功能和用法q ImageView的功能和用法q AutoCompleteTextView的功能和用法q Spinner的功能和用法q 日期和时间选择器的功能和用法5. 掌握常用的XML属性6. 使用XML属性来开发漂亮的用户界面7. 从本周起,以后每次小课的实验内容,要求上传至小课老师的FTP。二、 实验步骤1. 简要概括View和ViewGroup作用。答:View:任何一个View对象都继承android.view.View类。它是一个存储有屏幕上特定的一个矩形布局和内容属性的数据结构。作为一个基类,View类为Widget服务, Widget则是一组用于绘制交互屏幕元素的完全实现子类。ViewGroup:是一个android.view. ViewGroup类的对象。它的功能是装载和管理一组下层的View和其他的ViewGroup,作为一个基类, ViewGroup为Layout服务。2. 相对布局管理器的使用,补充代码,使程序运行的效果如下图所示:图1 实验效果图RelativeLayoutDemo.java中的源代码如下所示: 下面是布局文件main.xml中的内容,请补充完整,实现图1中的界面: 3. 布局管理器的嵌套,编写程序,在模拟器中实现如下的效果界面,选择合适的布局管理器。提示:1) 所示界面最外层的布局管理是线性布局,接着放置了一个Button组件,用于显示一句话,如图中所示。2) 接着是嵌入了一个框架布局,4个TextView叠在一起,颜色的属性值从外到内依次为:#0000bb、#004433、#00aa00、#00dddd。3) 最后嵌入了一个表格布局,里面分别是一行的按钮和一行的android系统小图标,如图所示。第2列设置属性为stretchColumns。4. 补充并调试程序,运行效果如下图所示。 以下是程序中要用到的bg_border.xml文件的内容,请注意文件所放的位置: 以下是程序中要用到的strings.xml文件的内容: Hello World,EditText! 注册页面以下是main.xml文件的内容,请根据运行结果图,补充程序中所缺的XML属性值5. 编写程序实现如下图所示的效果。4、DatePicker日期选择器5、EditText3、带图片的TextView2、AutoCompleteTextView1、TextView 图2-1 没有进行任何操作的界面要求与提示:1) 布局中的TextVeiw,显示的文字要求有跑马灯的效果。用到的属性是android:ellipsize=marquee ,android:marqueeRepeatLimit=marquee_forever。2) 接下来是一个AutoCompleteTextView,自动完成文本框。要求输入1个字符就能显示下提示的信息。例如输入字母A,就会出现如下图所示的效果:图2-2 操作自动完成文本框显示效果3) 接下来就是一个带图片的文本框,图片放在文本框左侧,且显示的内容是:本学期开的时间是:4) DatePicker日期选择器,一旦操作选择日期,下面就会有一个Toast提示,显示的是选择后的时间。效果如下图所示: 2-3 操作日期选择器时运行效果activity_main.xml: MainActivity.java文件package com.example.demo3;import java.util.Calendar;import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;import android.widget.DatePicker;import android.widget.DatePicker.OnDateChangedListener;import android.widget.Toast;public class MainActivity extends Activity private AutoCompleteTextView autotext;private ArrayAdapter arrayAdapter;protected int year;protected int month;protected int day;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);autotext = (AutoCompleteTextView) findViewById(R.id.autotext);String arr = Android, Java,PP,FF ;arrayAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, arr);autotext.setAdapter(arrayAdapter);DatePicker datePicker = (DatePicker) findViewById(R.id.dataPicker);Calendar calendar = Calendar.getInstance();int year = calendar.get(Calendar.YEAR);int month = calendar.get(calendar.MONTH);int day = calendar.get(calendar.DAY_OF_MONTH);datePicker.init(year, month, day, new OnDateChangedListener() public void onDateChanged(DatePicker arg0, int year, int month,int day) MainActivity.this.year = year;MainActivity.this.month = month;MainActivity.this.day = day;show(year, month, day););private void show(int year, int month, int day) String str = 选择的时间是: + year + 年 + month + 月 + day + 日;Toast toast=Toast.makeText(this, str, Toast.LENGTH_SHORT);toast.show();6. 调试并运行程序,附上运行结果截图,并分析所用组件RadioGroup RadioButton、CheckBox组件的用法功能。1) 程序中main.xml布局文件内容如下: 2) 程序中strings.xml文件内容如下: Hello World, CheckRadioButton! 单选按钮和复选框 女 男 跑步 游泳 阅读(3)CheckRadioButton.java源文件中的内容package com.example.demo4;import android.app.Activity;import android.os.Bundle;import android.widget.*;public class MainActivity extends Activity / 对控件对象的声明private RadioGroup genderGroup = null;private RadioButton femaleButton = null;private RadioButton maleButton = null;private CheckBox swimBox = null;private CheckBox runBox = null;private CheckBox readBox = null;private EditText show = null;Overridepublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);/ 通过控件的ID来得到代表控件的对象genderGroup = (RadioGroup) findViewById(R.id.action_settings);femaleButton = (RadioButton) findViewById(R.id.action_settings);maleButton = (RadioButton) findViewById(R.id.action_settings);swimBox = (CheckBox) findViewById(R.id.action_settings);runBox = (CheckBox) findViewById(R.id.action_settings);readBox = (CheckBox) findViewById(R.id.action_settings);show = (EditText) findViewById(R.id.action_settings);/ RadioGroup设置监听器/* * 回调中用到的是RadioGroup对象 * 而RadioGroup对象又不是CompoundButton的子类,只能重新编写一个OnCheckedChangeListener监听类 */genderGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() public void onCheckedChanged(RadioGroup group, int checkedId) if (femaleButton.getId() = checkedId) / EditText显示内容show.setText(女); else if (maleButton.getId() = checkedId) show.setText(男););/ 为多选按钮添加监听器,内部类/* * 因为Button是CompoundButton的子类,可以直接使用CompoundButton提供的监听器。 */swimBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) if (isChecked) show.setText(游泳); else show.setText(););runBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() public void onCheckedChanged(CompoundButton buttonView,boolean isChecked)

温馨提示

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

评论

0/150

提交评论