实验2 android的界面设计(控件与布局)
- 格式:doc
- 大小:690.00 KB
- 文档页数:18
一、实验目的通过本次实验,掌握安卓常用控件的基本属性、方法和事件处理,熟悉这些控件在实际应用中的使用方法,提高对安卓界面设计的理解和应用能力。
二、实验环境1. 操作系统:Windows 102. 开发工具:Android Studio3.5.33. 手机型号:华为Mate 20三、实验内容本次实验主要涉及以下安卓常用控件:1. TextView2. EditText3. Button4. ImageView5. RadioButton6. CheckBox7. Spinner8. ListView四、实验步骤1. 创建一个新的Android项目,命名为“ControlOperation”。
2. 在布局文件activity_main.xml中添加以下控件:```xml<TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="Hello World!"android:layout_marginTop="20dp" /><EditTextandroid:id="@+id/editText1"android:layout_width="match_parent"android:layout_height="wrap_content" android:hint="Enter your name" /><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="Click Me!" /><ImageViewandroid:id="@+id/imageView1"android:layout_width="wrap_content"android:layout_height="wrap_content" android:src="@drawable/ic_launcher" /> <RadioButtonandroid:id="@+id/radioButton1"android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="Male" /><CheckBoxandroid:id="@+id/checkbox1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Subscribe to newsletter" /><Spinnerandroid:id="@+id/spinner1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:entries="@array/countries" /><ListViewandroid:id="@+id/listView1"android:layout_width="match_parent"android:layout_height="wrap_content" />```3. 在strings.xml文件中添加以下字符串资源:```xml<string name="app_name">Control Operation</string> <string name="enter_name">Enter your name</string> <string name="click_me">Click Me!</string><string-array name="countries"><item>China</item><item>USA</item><item>Japan</item></string-array>```4. 在MainActivity.java文件中添加以下代码:```javaimport android.os.Bundle;import android.view.View;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.ScrollView;import android.widget.TextView;import android.widget.CheckBox;import android.widget.Spinner;import android.widget.ListView;import android.widget.ArrayAdapter;import android.widget.Toast;import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private TextView textView1;private EditText editText1;private Button button1;private ImageView imageView1;private RadioButton radioButton1;private CheckBox checkBox1;private Spinner spinner1;private ListView listView1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);textView1 = findViewById(R.id.textView1);editText1 = findViewById(R.id.editText1);button1 = findViewById(R.id.button1);imageView1 = findViewById(R.id.imageView1);radioButton1 = findViewById(R.id.radioButton1);checkBox1 = findViewById(R.id.checkbox1);spinner1 = findViewById(R.id.spinner1);listView1 = findViewById(R.id.listView1);ArrayAdapter<CharSequence> adapter =ArrayAdapter.createFromResource(this,R.array.countries, yout.simple_spinner_item);adapter.setDropDownViewResource(yout.simple_spinner_dropdown _item);spinner1.setAdapter(adapter);button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String name = editText1.getText().toString();Toast.makeText(MainActivity.this, "Hello " + name, Toast.LENGTH_SHORT).show();}});radioButton1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this, "You selected Male", Toast.LENGTH_SHORT).show();}});checkBox1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (checkBox1.isChecked()) {Toast.makeText(MainActivity.this, "You subscribed to the newsletter", Toast.LENGTH_SHORT).show();} else {Toast.makeText(MainActivity.this, "You unsubscribed from the newsletter", Toast.LENGTH_SHORT).show();}}});}}```5. 运行程序,观察效果。
安卓实验报告Android是目前全球最为流行的操作系统之一,其强大的应用程序生态系统和广泛的设备兼容性使得安卓成为开发者和用户的首选。
本文将介绍我在安卓实验中进行的一系列任务和实验结果。
实验一:安装开发环境在进行安卓开发之前,我们首先需要安装必要的开发环境。
我使用的是Android Studio,这是谷歌官方提供的开发工具,具有强大的功能和友好的用户界面。
通过安装Android Studio,我成功搭建了安卓开发环境,并进行了一些基本的配置。
实验二:创建第一个安卓应用程序根据老师的指导,我按照步骤成功创建了我的第一个安卓应用程序。
我选择了一个简单的计算器应用程序作为开始,它可以实现基本的加法和减法功能。
通过这个实验,我学会了使用Android Studio的界面设计工具和编写基本的Java代码。
实验三:UI设计和布局在这个实验中,我学习了安卓应用程序的用户界面设计和布局。
我使用了安卓提供的各种布局方式,如线性布局、相对布局和帧布局等,来设计和展示应用程序的不同界面。
通过这个实验,我对安卓界面设计的原则和技巧有了更深入的理解。
实验四:应用程序调试与测试在开发过程中,调试和测试是非常重要的环节。
通过Android Studio提供的调试工具,我能够针对应用程序中的问题进行定位和修复。
我还学会了使用模拟器和真机进行应用程序的测试,以确保应用程序的功能和稳定性。
实验五:数据库操作在这个实验中,我学习了如何在安卓应用程序中使用数据库。
我使用了SQLite数据库来存储和管理应用程序的数据。
通过编写SQL语句,我能够进行数据的插入、查询、更新和删除等操作。
这为我今后的应用程序开发提供了非常有用的技能。
总结:。
实验1 搭建开发环境与第1个Android程序【实验目的】1.熟悉Android开发环境的搭建2.掌握用Eclipse开发Android程序的流程【实验内容】一、搭建Android开发环境按照下面的步骤,完成Android环境的搭建。
1.1 JDK的安装及配置1.根据电脑的系统位数安装软件包里的JDK,安装目录设置为d:\jdk1.x。
(d为你的安装盘,可以设为任意盘;x为你安装的jdk版本)2. WIN7系统环境变量设置(1)环境变量设置一(2)环境变量设置二(3)环境变量设置三(4)环境变量设置四1)创建新的环境变量。
名:JA V A_HOME,值:x:\jdk1.72)修改系统变量Path,在path变量值前添加这段:%JA V A_HOME%\bin;3)修改系统变量classpath,值为:.;%JA V A_HOME%\lib\dt.jar;%JA V A_HOME%\lib\tools.jar;(5)环境变量设置五1)测试开发环境。
在开始->搜索程序和文件里输入cmd.exe,打开cmd。
输入cd c:\ 命令进入c盘根目录。
2)在c盘根目录下使用记事本编写源文件,并存为java文件。
public class MyApp {public static void main (String[] args) {System.out.println(“我能学好Java语言!”);} }3)使用javac命令编译程序,在cmd命令行输入:javac MyApp.java生成class类型文件。
4)使用java命令运行程序,在cmd命令行输入:java MyApp如果在命令行显示结果“我能学好Java语言!”,则JDK环境配置成功。
1.2 Android SDK的安装及配置1. 解压adt-bundle-windows-x86_64-20131030.zip文件,里面的SDK是免安装版。
《Android移动应用开发》实验指导书课程代码:总课时数:适用专业:院(系)名称:实验一深入理解Activity目标(1)掌握Activity的开发、配置和使用。
(2)掌握Intent的几种常用的属性。
(3)Android系统内置Intent的使用。
(4)了解Activity的生命周期实验软、硬件环境硬件:PC电脑一台;配置:winxp或win7系统,内存大于4G,硬盘250G及以上JDK1.7 、Eclipse、ADT、Android SDK实验主要技术基础(1)活动是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互。
(2)Intent是Android程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。
任务:1、请在AndroidManifest.xml文件中配置SecondActivity;配置Intent的Action属性为com.sise.intent.action.JHY_ACTION。
配置Category属性为com.sise.intent.category.JHY_CATEGORY通过隐式Intent的使用从FirstActivity,编写代码,运行程序,预期效果启动SecondActivity如下所示。
图1 程序运行初始化界面 图2 点击图1中的按钮后的运行结果。
传递数据到SecondActivity,并使用Intent从FirstActiv2、请使用显式Intent启动SecondActivity编写代码,运行程序,预期效果如下所示。
图1 程序运行初始化界面图2 点击图1中的按钮后的运行结果3、使用Intent传递数据从SecondActivity返回数据到FirstActivity中去。
编写代码,运行程序,预期效果如下所示。
图1 程序运行初始化界面图2 点击图1按钮运行结果图3 点击图2按钮运行结果实验方法与步骤(1)创建活动Activity是Android系统提供的一个活动基类所有的活动都必须直接或间接继承此类才能拥有活动的特性。
如何使用Android Studio进行布局设计和界面编写Android Studio是一款专门用于Android应用开发的集成开发环境(IDE),它提供了许多强大的工具和功能,使开发者可以更轻松地设计应用程序的布局和界面。
本文将介绍如何使用Android Studio进行布局设计和界面编写的步骤和技巧。
一、创建新的布局文件在Android Studio中,可以使用XML文件来定义应用程序的布局。
首先,我们需要创建一个新的布局文件。
在项目视图中,右键单击“res”文件夹,选择“New” -> “Android resource file”。
在弹出的对话框中,填写文件名和文件类型(在这里我们选择“layout”类型),然后点击确定。
二、使用布局编辑器进行设计创建好布局文件后,我们可以使用布局编辑器来设计应用程序的界面。
点击“Design”选项卡,即可进入布局编辑模式。
接下来,我们将介绍布局编辑器中的一些常用功能。
1. 布局容器布局容器用于定义和管理界面上的视图组件的排列方式。
Android Studio提供了各种类型的布局容器,如线性布局(LinearLayout)、相对布局(RelativeLayout)和帧布局(FrameLayout)等。
通过拖拽和调整组件的位置和大小,我们可以在布局容器中创建所需的布局结构。
2. 视图组件视图组件是应用程序界面的基本单元,如按钮、文本框和图片等。
在布局编辑器中,我们可以从左侧的“Palette”面板中选择不同类型的视图组件,并在布局容器中进行布局设置。
3. 属性面板属性面板用于编辑和设置视图组件的属性。
在布局编辑器中,选中一个视图组件后,右侧的属性面板将显示该组件的属性列表。
我们可以通过修改属性值,调整组件的外观和行为。
三、编写界面逻辑和事件处理设计好界面的布局后,我们需要为视图组件添加逻辑和事件处理。
在Android Studio中,可以通过编写Java代码来实现这些功能。
《Android手机界面管理系统的设计与实现》篇一一、引言随着移动互联网的飞速发展,Android手机作为一款便携式智能设备,其用户界面(UI)管理系统的重要性日益凸显。
为了满足用户日益增长的使用需求,提高用户体验,本文将详细介绍Android手机界面管理系统的设计与实现过程。
二、系统需求分析1. 用户需求:Android手机界面管理系统应具备高效、易用、美观的特点,能够满足用户对手机界面的个性化定制需求。
2. 功能需求:系统应支持界面元素的添加、删除、修改等操作,支持界面主题的切换与定制,同时具备兼容性,可适配不同型号的Android手机。
三、系统设计1. 系统架构设计:采用分层架构设计,包括数据层、业务逻辑层和表示层。
数据层负责数据的存储与访问,业务逻辑层负责处理业务逻辑,表示层负责用户界面的展示。
2. 界面设计:遵循Android系统设计规范,采用扁平化设计风格,提供丰富的界面元素供用户选择与定制。
3. 主题定制:支持用户自定义主题,包括颜色、字体、图标等,以满足用户的个性化需求。
四、系统实现1. 数据层实现:采用SQLite数据库存储用户界面数据和主题数据,提供数据访问接口供业务逻辑层调用。
2. 业务逻辑层实现:负责处理用户界面管理相关的业务逻辑,如界面元素的添加、删除、修改等操作,以及主题的切换与定制。
3. 表示层实现:采用Android开发技术栈,包括Java语言和XML布局文件,实现用户界面的展示。
同时,利用Android提供的API实现界面元素的动态添加与修改。
五、系统功能实现细节1. 界面元素管理:通过自定义的View类或布局文件实现界面元素的管理,包括按钮、文本框、图片等。
系统支持动态添加、删除和修改界面元素,以满足用户的个性化需求。
2. 主题定制功能:提供丰富的主题颜色、字体和图标供用户选择与定制。
用户可在系统设置中切换主题,同时保存用户的个性化设置。
3. 兼容性设计:考虑不同型号的Android手机屏幕尺寸和分辨率差异,采用自适应布局技术,确保系统在不同设备上都能良好地运行。
目录1. 概述 (1)2. 项目设计与实现 (1)2.1欢迎界面 (1)2.1.1界面布局 (2)2.1.2功能实现 (2)2.2登陆界面 (2)2.2.1 界面布局 (2)2.2.2 功能实现 (2)2.3微信显示界面 (4)2.3.1 界面布局 (4)2.3.2功能实现 (5)2.4主界面 (5)2.4.1 界面布局 (5)2.4.2 功能实现 (5)3.参考文献 (5)4.致谢 (6)1.概述移动互联网时代的来临, 直接促进了搭载智能操作系统、具有强大扩展性的智能手机、平板电脑等移动终端产业的蓬勃发展。
搭载安卓操作系统的智能手机目前已经成为市场上最炙手可热的智能产品。
开放的源代码和零成本已经让安卓在全世界范围内受到青睐并迅速获得了主要手机厂商和数百万软件开发者的支持, 2011年安卓系统的市场份额已经超过Symbian, 成为全球第一大智能手机操作系统。
本项目基于QQ和微信等聊天工具, 仿制其功能初步实现了登录界面和主界面的简单设置, 剩余的功能我会在以后更加努力实现。
2. 项目设计与实现2.1欢迎界面图1 欢迎界面2.1.1界面布局整体采用相对布局, 下面为一个线性布局, 其中包括一个ImageViewTextView,最下面仍是一个线性布局, 包括两个Button和两个TextView。
2.1.2功能实现欢迎界面由按钮和图片等构成, 启动该客户端时, 首先进入该界面。
在欢迎界面点击登录按钮可通过QQ号或微信号登录, 点击注册按钮, 可在联网的情况下注册微信号。
2.2登陆界面图2 登录界面2.2.1 界面布局整体采用RelativeLayout相对布局, 下面仍为一相对布局, 其中包括一个Buttton 和一个TextView.紧邻为两个EditText,最下面为相对布局, 包括两个Button。
2.2.2 功能实现使用UserEdit.getText().toString().trim() 和PasswordEdit.getText(). toString().trim()方法得到用户输入的用户名和密码。
I. 简介在移动应用开发中,界面设计与布局是非常重要的环节。
使用Android Studio作为开发工具,可以轻松实现布局设计和界面编写。
本文将介绍如何使用Android Studio进行布局设计和界面编写的一些基本步骤和技巧。
II. 安装和设置首先,确保你已经在计算机上成功安装了Android Studio。
安装完成后,打开Android Studio,并选择新建项目。
接下来,选择适合你项目的最低API级别和目标API级别。
一般情况下,选择较高的最低API级别可以兼容更多的设备。
III. 布局设计在Android Studio中,布局设计使用的是XML语言来描述界面的结构和样式。
最常用的布局类型是LinearLayout和RelativeLayout,它们可以实现不同的屏幕布局。
布局文件可以通过拖拽和预览的方式进行设计。
1. 创建布局文件在项目的res目录下找到layout文件夹,右键点击选择“New -> Layout resource file”,然后命名文件并选择布局类型。
创建完成后,就可以在布局文件中添加和编辑各种视图组件。
2. 添加组件在布局文件中,可以通过在XML中添加组件来构建界面。
例如,可以使用TextView显示文本内容,使用Button添加按钮操作,使用ImageView显示图像等。
在XML中为每个组件设置ID和属性,以定义其在界面布局中的样式和位置。
3. 约束布局Android Studio还支持约束布局,它可以更灵活地定位和调整视图组件的位置。
通过拖拽和连接各个视图组件之间的边界和约束,可以进行更自由的布局。
约束布局的使用需要一些练习和对视图关系的理解。
IV. 界面编写在完成布局设计后,需要对界面进行编写,即为各个组件添加相应的功能和逻辑。
界面编写主要使用Java语言来实现。
1. 创建活动在项目的Java目录下,找到包名,右键点击选择“New -> Activity -> Empty Activity”,然后命名新的活动。
实验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制作如图界面(图片自定) (将该题以你的学号命名,发给你班的学习委员,以班为单位统一发给我,我的邮箱为:****************):5.用expandablelistview制作如下界面:6.对话框制作:(2)部分程序代码:protected void dialog() {AlertDialog.Builder builder = new Builder(Main.this);builder.setMessage("确认退出吗?");builder.setTitle("提示");builder.setPositiveButton("确认", new OnClickListener() { @Overridepublic void onClick(DialogInterface dialog, int which) { dialog.dismiss();Main.this.finish();}});builder.setNegativeButton("取消", new OnClickListener() {@Overridepublic 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() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stub Toast.makeText(Main.this, "我很喜欢他的电影。
",Toast.LENGTH_LONG).show();}}).setNegativeButton("不喜欢", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stub Toast.makeText(Main.this, "我不喜欢他的电影。
", Toast.LENGTH_LONG).show();}}).setNeutralButton("一般", new OnClickListener() {@Overridepublic 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布局文件代码如下:<?xml version="1.0"encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:layout_height="wrap_content" android:layout_width="wrap_content"android:background="#ffffffff" android:orientation="horizontal"android:id="@+id/dialog"><TextView android:layout_height="wrap_content"android:layout_width="wrap_content"android:id="@+id/tvname" android:text="姓名:" /><EditText android:layout_height="wrap_content"android:layout_width="wrap_content" android:id="@+id/etname" android:minWidth="100dip"/> </LinearLayout>程序代码:LayoutInflater inflater = getLayoutInflater();View layout = inflater.inflate(yout.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<?xml version="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"android:background="#ffffff"><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal">"<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingTop="10dp"android:paddingLeft="10dp"android:text="姓名:"android:textColor="#000000"android:textSize="15sp"/><EditTextandroid:textSize="15sp"android:background="@drawable/edit_text"android:id="@+id/editxt_name"android:layout_width="200dp"android:layout_height="wrap_content"android:layout_marginLeft="3dp"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingTop="10dp"android:paddingLeft="10dp"android:text="学号:"android:textColor="#000000"android:textSize="15sp"/><EditTextandroid:background="@drawable/edit_text"android:textSize="15sp"android:id="@+id/editxt_id"android:layout_width="200dp"android:layout_height="wrap_content"android:layout_marginLeft="3dp"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingTop="10dp"android:paddingLeft="10dp"android:text="班级:"android:textColor="#000000"android:textSize="15sp"/><EditTextandroid:background="@drawable/edit_text"android:textSize="15sp"android:id="@+id/editxt_class"android:layout_width="200dp"android:layout_height="wrap_content"android:layout_marginLeft="3dp"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingTop="10dp"android:paddingLeft="10dp"android:text="年级:"android:textColor="#000000"android:textSize="15sp"/><EditTextandroid:background="@drawable/edit_text"android:textSize="15sp"android:id="@+id/editxt_grade"android:layout_width="200dp"android:layout_height="wrap_content"android:layout_marginLeft="3dp"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal">"<TextViewandroid:id="@+id/spinner_view"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="课程:"android:textSize="15sp"android:paddingTop="10dp"android:paddingLeft="10dp"android:textColor="#000000"/><Spinnerandroid:id="@+id/course_spinner"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/spinner_default_holo_light"/></LinearLayout><Buttonandroid:layout_marginTop="15dp"android:id="@+id/but_sure"android:layout_width="300dp"android:layout_height="30dp"android:text="添加"android:layout_gravity="center"android:textSize="15sp"android:textColor="#ffffff"android:onClick="OnAddClick"android:background="#7b7979"/>"<ListViewandroid:paddingTop="20dp"android:id="@+id/course_listview"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="#ffffff"/></LinearLayout>2、Listview中的item布局文件:<?xml version="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android"android:layout_width="fill_parent"android:layout_height="match_parent"android:orientation="vertical"android:background="#ffffff"><LinearLayoutandroid:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/item_name"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:textColor="#000000"android:textSize="10sp"/><TextViewandroid:id="@+id/item_num"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:textColor="#000000"android:textSize="10sp"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:id="@+id/item_class"android:textSize="10sp"android:textColor="#000000"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:id="@+id/item_course"android:textSize="10sp"android:textColor="#000000"/><Buttonandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:id="@+id/item_del"android:textSize="20sp"android:textColor="#000000"/>"</LinearLayout>"</LinearLayout>3、Spinner中的ourse_list.xml<?xml version="1.0"encoding="utf-8"?><resources><string-array name="course_list"><item>语文</item><item>数学</item><item>英语</item><item>物理</item><item>化学</item><item>生物</item></string-array></resources>4、edit_text样式的定义:<?xml version="1.0"encoding="utf-8"?><selector xmlns:android="/apk/res/android"> <item android:state_focused="true"android:drawable="@drawable/textfield_multiline_activated_holo_dark"/ ><itemandroid:drawable="@drawable/textfield_multiline_default_holo_light"/> </selector>5、spinner样式的定义:<?xml version="1.0"encoding="utf-8"?><selector xmlns:android="/apk/res/android"> <item android:state_focused="true"android:drawable="@drawable/spinner_default_holo_light"/> <item android:drawable="@drawable/spinner_disabled_holo_light"/> </selector>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));//刷新listviewmListAdapter.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.show();}});8、Item类的定义:package com.example.classview;public class Item {public String course;public String id;public String grade;public String name;public Item(String id, String name, String grade,String course) { super();this.id = id; = name;this.grade = grade;this.course = course;}}。