实验7 多用户界面、菜单以及对话框程序设计

news/2025/1/11 18:03:02/

实验内容

1.设计一个具有两个页面的程序,第一个页面显示一张封面的图片,第二个页面显示“欢迎进入本系统”,这两个页面之间能相互切换。   
2.设计一个具有3个选项的菜单程序,当单击每个选项时,分别跳转到3个不同的页面。
3.设计一个具有计算器功能的对话框程序。

1.activity_main.xml源代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"tools:context=".MainActivity"><ImageViewandroid:id="@+id/image"android:layout_width="wrap_content"android:layout_height="520dp"android:src="@drawable/icon"/><Buttonandroid:id="@+id/btn1"android:layout_width="match_parent"android:layout_height="80dp"android:text="进入主页"android:textSize="30sp" /></LinearLayout>

MainActivity.java源代码:

package com.example.helloworld;
import androidx.annotation.CheckResult;
import androidx.appcompat.app.AppCompatActivity;import android.annotation.SuppressLint;
import android.app.Activity;
import android.provider.ContactsContract;
import android.view.Gravity;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;//文本标签
import android.widget.Button;//按钮
import android.widget.EditText;//文本编辑框
import android.widget.Toast;
import android.widget.ListView;
import android.widget.ImageView;
import android.view.View.OnClickListener;
import android.widget.AdapterView.OnItemClickListener;
import android.content.Intent;
import org.w3c.dom.Text;public class MainActivity extends AppCompatActivity {private TextView txt,txt1,txt2,txt3,txt4,txt5;private Button button1,button2,button3,btn;private EditText edit1,edit2,edit3,edit4;ListView list;ProgressBar progress;@SuppressLint("MissingInflatedId")@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn=(Button) findViewById(R.id.btn1);btn.setOnClickListener(new mClick());}class mClick implements OnClickListener{@Overridepublic void onClick(View view) {Intent intent=new Intent(MainActivity.this,secondActivity.class);startActivity(intent);}}
}secondActivity.java代码:
package com.example.helloworld;
import android.os.Bundle;
import android.app.Activity;
public class secondActivity extends Activity{public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.second);}
}

second.xml代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"android:layout_gravity="center_horizontal"><TextViewandroid:id="@+id/txt"android:layout_width="wrap_content"android:layout_height="fill_parent"android:layout_gravity="center_horizontal"android:text="欢迎进入本系统"android:textSize="32sp" />
</LinearLayout>

结果图:
请添加图片描述
2.activity_main.xml源代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"tools:context=".MainActivity"><TextViewandroid:id="@+id/txt"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="我喜欢的音乐(点击跳转)"android:textSize="30sp"/><Buttonandroid:id="@+id/btn1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="若把你"android:textSize="20sp" /><Buttonandroid:id="@+id/btn2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="下个路口见"android:textSize="20sp" /><Buttonandroid:id="@+id/btn3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Umbrella"android:textSize="20sp" />
</LinearLayout>

MainActivity.java源代码:

package com.example.helloworld;
import androidx.annotation.CheckResult;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Color;
import android.provider.ContactsContract;
import android.view.Gravity;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;//文本标签
import android.widget.Button;//按钮
import android.widget.EditText;//文本编辑框
import android.widget.Toast;
import android.widget.ListView;
import android.widget.ImageView;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView.OnItemClickListener;
import android.content.Intent;import org.w3c.dom.Text;public class MainActivity extends AppCompatActivity {private TextView txt,txt1,txt2,txt3,txt4,txt5;private Button button1,button2,button3,btn;private EditText edit1,edit2,edit3,edit4;@SuppressLint("MissingInflatedId")@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button1=(Button)findViewById(R.id.btn1);button2=(Button)findViewById(R.id.btn2);button3=(Button)findViewById(R.id.btn3);button1.setOnClickListener(new mClick1());button2.setOnClickListener(new mClick2());button3.setOnClickListener(new mClick3());}class mClick1 implements OnClickListener{@Overridepublic void onClick(View view) {Intent intent=new Intent(MainActivity.this,firstActivity.class);startActivity(intent);}}class mClick2 implements OnClickListener{@Overridepublic void onClick(View view) {Intent intent=new Intent(MainActivity.this,secondActivity.class);startActivity(intent);}}class mClick3 implements OnClickListener{@Overridepublic void onClick(View view) {Intent intent=new Intent(MainActivity.this,thirdActivity.class);startActivity(intent);}}
}

first.xml代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"android:layout_gravity="center_horizontal"><ImageViewandroid:id="@+id/image"android:layout_width="wrap_content"android:layout_height="fill_parent"android:src="@drawable/pic1" /></LinearLayout>

firstActivity.java代码:

package com.example.helloworld;
import android.os.Bundle;
import android.app.Activity;public class firstActivity extends Activity{public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.first);}
}

second.xml代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"android:layout_gravity="center_horizontal"><ImageViewandroid:id="@+id/image"android:layout_width="wrap_content"android:layout_height="fill_parent"android:src="@drawable/pic2" /></LinearLayout>

secondActivity.java代码:

package com.example.helloworld;
import android.os.Bundle;
import android.app.Activity;public class secondActivity extends Activity{public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.second);}
}

third.xml代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"android:layout_gravity="center_horizontal"><ImageViewandroid:id="@+id/image"android:layout_width="wrap_content"android:layout_height="fill_parent"android:src="@drawable/pic3" /></LinearLayout>

thirdActivity.java代码:

package com.example.helloworld;
import android.os.Bundle;
import android.app.Activity;public class thirdActivity extends Activity{public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.third);}
}

需要注意的是切换多个页面时,要在AndroidManifest.xml
中添加对应的xml的注册
请添加图片描述

结果图:
请添加图片描述
3.MainActivity.java代码:

package com.example.helloworld;
import androidx.annotation.CheckResult;
import androidx.appcompat.app.AppCompatActivity;import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Color;
import android.provider.ContactsContract;
import android.view.Gravity;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.RadioButton;
import android.widget.TextView;//文本标签
import android.widget.Button;//按钮
import android.widget.EditText;//文本编辑框
import android.widget.Toast;
import android.widget.ListView;
import android.widget.ImageView;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView.OnItemClickListener;
import android.content.Intent;
import android.app.AlertDialog;
import android.content.DialogInterface;import org.w3c.dom.Text;public class MainActivity extends AppCompatActivity {private TextView txt,txt1,txt2,txt3,txt4,txt5;private Button button1,button2,button3,btn;private EditText edit1,edit2,edit3,edit4;LinearLayout com;@SuppressLint("MissingInflatedId")@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button1=(Button)findViewById(R.id.btn1);button1.setOnClickListener(new mClick1());}class mClick1 implements OnClickListener{AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.this);@Overridepublic void onClick(View view) {com=(LinearLayout)getLayoutInflater().inflate(R.layout.compute,null);dialog.setTitle("计算机对话框").setView(com);dialog.setPositiveButton("显示结果",new resClick());dialog.create();dialog.show();}}class resClick implements DialogInterface.OnClickListener{EditText e1=(EditText)com.findViewById(R.id.myEditText1);EditText e2=(EditText)com.findViewById(R.id.myEditText2);@Overridepublic void onClick(DialogInterface dialog, int i) {String str1=e1.getText().toString();String str2=e2.getText().toString();int a=Integer.parseInt(str1);int b=Integer.parseInt(str2);int c=a+b;Toast.makeText(getApplicationContext(),Integer.toString(c),Toast.LENGTH_LONG).show();dialog.dismiss();}}
}

activity_main.xml代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"tools:context=".MainActivity"><Buttonandroid:id="@+id/btn1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="打开计算器对话框"android:layout_gravity="center"android:textSize="30sp" /></LinearLayout>

compute.xml代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="fill_parent"android:layout_height="fill_parent"tools:context=".MainActivity"android:orientation="vertical"android:gravity="center|fill"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:gravity="center_horizontal"android:orientation="horizontal"><EditTextandroid:id="@+id/myEditText1"android:layout_width="40dp"android:layout_height="50dp"android:layout_x="50dp"android:layout_y="50dp"android:autofillHints=""android:inputType="number"android:textSize="24sp"tools:ignore="LabelFor,SpeakableTextPresentCheck,TouchTargetSizeCheck" /><TextViewandroid:id="@+id/textview1"android:layout_width="25dp"android:layout_height='59dp'android:text="+"android:textSize="24sp" /><EditTextandroid:id="@+id/myEditText2"android:layout_width="40dp"android:layout_height="50dp"android:layout_x="50dp"android:layout_y="50dp"android:inputType="number"android:textSize="24sp"tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck" /></LinearLayout>
</LinearLayout>

结果:
请添加图片描述




http://www.ppmy.cn/news/87401.html

相关文章

Java Applet研究与应用 ——综合测评系统

摘 要 大学期间&#xff0c;综合测评计算是每学期必不可少的工作。人工计算综合测评是一个很繁杂的过程&#xff1a;每个学生先计算自己的综合测评成绩&#xff0c;制成草表&#xff0c;上交给班委&#xff1b;然后班委核对并将成绩录入制成电子文档上交给院系相关部门。在这个…

leetcode-岛屿数量(Java实现)

使用递归算法和并查集两种方式解决岛屿数量 LeetCode原题链接题目描述递归解法并查集解法并查集的知识学习。 LeetCode原题链接 岛屿数量 题目描述 给你一个由 ‘1’&#xff08;陆地&#xff09;和 ‘0’&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格…

【arxiv】关于 SAM 的论文扫读(一)

文章目录 一、阴影检测二、弱监督下的隐蔽物体分割&#xff1a;基于SAM的伪标签和多尺度特征分组三、Instruct2Act&#xff1a;利用大型语言模型将多模态指令映射到机器人动作四、OR-NeRF: Object Removing from 3D Scenes Guided by Multiview Segmentation with Neural Radia…

R语言环境配置指南:详解安装和设置步骤(ChatGPT3.5)

标题&#xff1a;R语言环境配置指南&#xff1a;详解安装和设置步骤 导语&#xff1a; R语言是一种功能强大的统计分析和数据可视化工具&#xff0c;为了充分利用其优势&#xff0c;正确配置R语言环境至关重要。本文将详细介绍如何安装R语言以及配置开发环境&#xff0c;包括选…

two-stage目标检测算法

R-CNN 现在&#xff0c;将目光穿越回2012年&#xff0c;hinton刚刚提出alexnet的时代。 此时&#xff0c;该如何审视目标检测任务&#xff1f; 当时的目标检测采用的是滑动窗口手动特征分类器的思路。 该方法的弱点包括 速度慢 精度差 精度差的问题是由手工特征造成的&am…

QCM6490 多次点击power键才能唤醒屏幕

项目场景&#xff1a; 点击2-3次power键才能唤醒屏幕。 1.gpio 占用&#xff0c;目测最有可能的是gpio占用 导致超时 &#xff08;1.通过添加log定位 2.排查添加的gpio&#xff09;-排除&#xff0c;没有报错也无法唤醒 2.休眠有问题 3.唤醒有问题 4.pmi休眠唤醒异常导致 --对…

HTTP(十)-- HTTP综合案例

目录 1. 项目结构 2. 数据库结构 2.1 建立user表 2.2 配置jbdc.properties文件 2.3 导入JDBCUtils工具类

2023网络安全工程师面试宝典(附答案)

2023年即将过去一半&#xff0c;先来灵魂三连问&#xff1a; 年初定的目标完成多少了&#xff1f;薪资涨了吗&#xff1f;女朋友找到了吗&#xff1f; ​好了&#xff0c;不扎大家的心了&#xff0c;接下来进入正文。 1、SQL注入的原理是什么&#xff1f; SQL注入攻击是通过将…