Android 开发
(实验五)
实验题目:Android组件布局试验
指导老师:
班 级:计算机科学与技术系班
姓 名:
一、实验目的
1、掌握Android组件布局的使用方法
2、学会组件布局的重要属性与应用
3、能够根据需求,通过布局构建各类实际的页面。
二、实验内容
组件布局有:LinearLayout、 TableLayout、 FrameLayout、RelativeLayout
三、实验步骤
1、用表格布局完成登录界面
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFCC"
android:stretchColumns="0,3" >
<ImageView android:layout_width="fill_parent"
android:layout_height="5dp"/>
<TableRow>
<ImageView
android:layout_width="wrap_content"
android:layout_height="100dp"
android:src="@drawable/img"
android:gravity="center"
android:layout_span="4"/>
</TableRow>
<TableRow >
<TextView/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:text="@string/username"
android:textStyle="bold"
android:textColor="#000000"/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:minWidth="200px"
android:id="@+id/ETname"/>
</TableRow>
<TableRow >
<TextView/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:text="@string/password"
android:textStyle="bold"
android:textColor="#000000"/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:minWidth="200px"
android:inputType="textPassword"
android:id="@+id/ETpwd"/>
</TableRow>
<TableRow>
<TextView />
<Button
android:id="@+id/Btok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:text="@string/button"
android:textStyle="bold"/>
<Button
android:id="@+id/Btcancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:text="@string/cancel"
android:textStyle="bold"/>
</TableRow>
</TableLayout>
2、使用线性布局完成系统主界面
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#FFFFCC">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="欢迎登陆此系统!"
android:layout_gravity="center"
android:textSize="30sp"
android:textColor="#000000"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="退出"
android:textSize="30sp"
android:textColor="#000000"
android:id="@+id/Btquit"/>
</LinearLayout>
3、使用线性布局和相对布局嵌套完成注册页面
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#FFFFCC">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="注册"
android:layout_gravity="center"
android:textSize="30sp"
android:textColor="#000000"/>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/lname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用户名 "
android:layout_gravity="center"
android:textSize="20sp"
android:textColor="#000000"/>
<EditText
android:id="@+id/ename"
android:layout_width="200px"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/lname"/>
<TextView
android:id="@+id/lpwd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="密 码 "
android:layout_below="@id/lname"
android:layout_marginTop="20px"
android:textSize="20sp"
android:textColor="#000000"/>
<EditText
android:id="@+id/epwd"
android:layout_width="200px"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:layout_toRightOf="@id/lpwd"
android:layout_alignTop="@id/lpwd"/>
<TextView
android:id="@+id/lapwd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="确认密码 "
android:layout_below="@id/lpwd"
android:layout_marginTop="20px"
android:textSize="20sp"
android:textColor="#000000"/>
<EditText
android:id="@+id/eapwd"
android:layout_width="200px"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:layout_toRightOf="@id/lapwd"
android:layout_alignTop="@id/lapwd"/>
<Button
android:id="@+id/Btok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提交"
android:layout_below="@id/lapwd"
android:layout_marginTop="20px"
android:layout_marginRight="20px"
android:textSize="20sp"
android:textColor="#000000"/>
<Button
android:id="@+id/Btqx"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="取消"
android:layout_below="@id/lapwd"
android:layout_toRightOf="@id/Btok"
android:layout_alignTop="@id/Btok"
android:textSize="20sp"
android:textColor="#000000"/>
</RelativeLayout>
</LinearLayout>
4、事件代码如下:
LayoutTestActivity.java
package mql.android.layouttest;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class LayoutTestActivity extends Activity {
/** Called when the activity is first created. */
private Button Btok;
private Button Btcancel;
// private EditText ETname;
// private EditText ETpwd;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Btok = (Button)findViewById(R.id.Btok);
Btcancel = (Button)findViewById(R.id.Btcancel);
Btok.setOnClickListener(new myOnClickListener());
Btcancel.setOnClickListener(new myOnClickListener());
}
public class myOnClickListener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
switch(v.getId()){
case R.id.Btok:
intent.setClass(LayoutTestActivity.this, LoginActivity.class);
startActivity(intent);
break;
case R.id.Btcancel:
intent.setClass(LayoutTestActivity.this, ZhuCe.class);
startActivity(intent);
break;
}
}
};
}
LoginActivity.java
package mql.android.layouttest;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class LoginActivity extends Activity {
private Button Btquit;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
Btquit = (Button)findViewById(R.id.Btquit);
Btquit.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
new AlertDialog.Builder(LoginActivity.this)
.setTitle("确认窗口")
.setMessage("确定要退出应用程序?")
.setPositiveButton("确定",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
// TODO Auto-generated method stub
finish();
}
}
)
.setNegativeButton("取消",new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
})
.show();
}
});
}
}
ZhuCe.java
package mql.android.layouttest;
import android.app.Activity;
import android.os.Bundle;
public class ZhuCe extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.zhuce);
}}
四、实验结果
五、实验总结
1、通过本次实验,掌握了Android组件布局的使用方法
2、也学会了组件布局的重要属性与应用能够根据需求,通过布局构建各类实际的页面
3、实验中遇到的问题,通过自己的努力最后得以解决。
本科实验报告课程名称实验项目实验地点专业班级学生姓名指导教师Android设计与开发Android课程实验学号年月日太原理工大学学…
报告编号第5组综合课程设计报告基于Android平台的记事本的设计与实现学生姓名指导教师所在系电子工程系所学专业计算机科学与技术班…
实验报告课程名称手机应用开发实验名称Android实验院系信息与控制工程学院专业班级姓名学号指导教师20xx年月日实验一一实验名称…
南昌航空大学实验报告二〇##年一月六日课程名称:移动终端编程技术实验名称:Android组件通信和后台服务班级:姓名:同组人:指导…
报告编号第5组综合课程设计报告基于Android平台的记事本的设计与实现学生姓名指导教师所在系电子工程系所学专业计算机科学与技术班…
实验报告课程名称手机应用开发实验名称Android实验院系信息与控制工程学院专业班级姓名学号指导教师20xx年月日实验一一实验名称…
移动互联网开发Android实验报告姓名万思学号专业指导老师张华完成日期20xx1116目录实验一Android开发环境的搭建41…
实验三Android网络通信实验目的本实验的目的是使学生深入了解利用Intent实现进程间的通信过程学会利用Intent进行Act…
姓名丁军峰Android实验报告一班级信科123学号08123448一实验内容编写一个Android应用程序实现对自己物品的管理功…