第一题
MainActivity.java
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
Button btn1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button)findViewById(R.id.mbutton);
btn1.setOnClickListener(new mClick());
}
class mClick implements View.OnClickListener{
@Override
public void onClick(View v) {
Intent intent1 = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent1); //启动另一个页面,页面跳转
}
}
}
SecondActivity.java
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class SecondActivity extends AppCompatActivity {
private Button but2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
but2 = (Button)findViewById(R.id.button);
but2.setOnClickListener(new Click());
}
class Click implements View.OnClickListener{
@Override
public void onClick(View v) {
Intent intent2 = new Intent(SecondActivity.this, MainActivity.class);
startActivity(intent2); //启动另一个页面,页面跳转
}
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第一个页面"
android:textSize="24sp"
android:id="@+id/textView1" />
<ImageView
android:layout_width="327dp"
android:layout_height="422dp"
android:src="@drawable/a"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="切换到第二个页面"
android:id="@+id/mbutton"
android:textSize="24sp"
/>
</LinearLayout>
activity_second.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="com.example.gaza.ex3_1.SecondActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="欢迎来到本系统"
android:textSize="24px"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="返回"
android:id="@+id/button"/>
</LinearLayout>
第二题
MainActivity.java
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
public class MainActivity extends Activity
{
TextView txt;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txt = (TextView)findViewById(R.id.TextView1);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// 调用父类方法来加入系统菜单
super.onCreateOptionsMenu(menu);
// 添加菜单项
menu.add(
1, //组号
1, //唯一的ID号
1, //排序号
"菜单项1"); //标题
menu.add( 1, 2, 2, "菜单项2");
menu.add( 1, 3, 3, "菜单项3");
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
String title = "选择了" + item.getTitle().toString();
switch (item.getItemId())
{ //响应每个菜单项(通过菜单项的ID)
case 1:
Intent intent = new Intent(MainActivity.this,OneActivity.class);
startActivity(intent);
break;
case 2:
Intent intent1 = new Intent(MainActivity.this,TwoActivity.class);
startActivity(intent1);
break;
case 3:
Intent intent2 = new Intent(MainActivity.this,ThreeActivity.class);
startActivity(intent2);
break;
default:
//对没有处理的事件,交给父类来处理
return super.onOptionsItemSelected(item);
}
return true;
}
}
OneActivity.java (TwoActivity.java ThreeActivity.java 类似)
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class OneActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_one);
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="com.example.gaza.ex3_2.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="菜单"
android:id="@+id/TextView1"
/>
</LinearLayout>
activity_one.xml (剩下两个页面与页面一类似)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="com.example.gaza.ex3_2.OneActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="页面一"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/a"/>
</LinearLayout>
第三题
MainActivity.java
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
ProgressDialog mydialog;
Button btn1;
LinearLayout calculator;
TextView test;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button) findViewById(R.id.button);
test= (TextView)findViewById(R.id.test);
btn1.setOnClickListener(new mClick());
}
class mClick implements View.OnClickListener
{
AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.this);
@Override
public void onClick(View arg0)
{
calculator = (LinearLayout)getLayoutInflater().inflate(R.layout.calculator, null);
dialog.setTitle("计算器").setMessage("请输入式子")
.setView(calculator);
dialog.setPositiveButton("确定", new okClick());
dialog.setNegativeButton("退出", new exitClick());
dialog.create();
dialog.show();
}
}
class okClick implements DialogInterface.OnClickListener
{
EditText txt;
@Override
public void onClick(DialogInterface dialog, int which)
{
txt = (EditText)calculator.findViewById(R.id.shizi);
String shizi = txt.getText().toString();
String res = getResult(shizi);
if (shizi != null)
test.setText("结果:"+res);
}
public String getResult(String cText){
Boolean isMinus = false; //用于判断式子开头是否为负号
if(cText.startsWith("-")){
cText = cText.substring(1);//将开头的负号去掉
isMinus = true;//第一个数是负数
}
if (cText.contains("+")){
String[] s = cText.split("\\+");//切分字符串 得到只有两个数字字符串的数组
double[] num = getNum(s,isMinus);
return String.valueOf(num[0] + num[1]);
}
else if (cText.contains("-")){
String[] s = cText.split("\\-");
double[] num = getNum(s,isMinus);
return String.valueOf(num[0] - num[1]);
}
else if (cText.contains("*")){
String[] s = cText.split("\\*");
double one,two;
double[] num = getNum(s,isMinus);
return String.valueOf(num[0] * num[1]);
}
else if (cText.contains("/")){
String[] s = cText.split("/");
double[] num = getNum(s,isMinus);
return String.valueOf(num[0] / num[1]);
}
else return "0";
}
//得到需要运算的两个数
private double[] getNum(String[] s,boolean isMinus){
double[] num =new double[2];
if (isMinus) {
num[0] = -Double.parseDouble(s[0]);//如果第一个数是负数,加上符号
}
else {
num[0] = Double.parseDouble(s[0]);
}
num[1] = Double.parseDouble(s[1]);
return num;
}
}
/* 输入对话框的“退出”按钮事件 */
class exitClick implements DialogInterface.OnClickListener
{
@Override
public void onClick(DialogInterface dialog, int which)
{
dialog.cancel();
}
}
}
calculator.xml (对话框布局)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="式子"
android:textSize="18sp"/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/shizi"
/>
</LinearLayout>
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:text="计算器"
android:textSize="30sp"
android:orientation="vertical"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/test"
android:text=""
android:textSize="24sp"/>
</LinearLayout>
</LinearLayout>