Android实验报告组件布局

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、实验中遇到的问题,通过自己的努力最后得以解决。

相关推荐