第一題
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); //啟動另一個頁面,頁面跳轉(zhuǎn)
}
}
}
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); //啟動另一個頁面,頁面跳轉(zhuǎn)
}
}
}
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="歡迎來到本系統(tǒng)"
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)
{
// 調(diào)用父類方法來加入系統(tǒng)菜單
super.onCreateOptionsMenu(menu);
// 添加菜單項
menu.add(
1, //組號
1, //唯一的ID號
1, //排序號
"菜單項1"); //標(biāo)題
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())
{ //響應(yīng)每個菜單項(通過菜單項的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("結(jié)果:"+res);
}
public String getResult(String cText){
Boolean isMinus = false; //用于判斷式子開頭是否為負號
if(cText.startsWith("-")){
cText = cText.substring(1);//將開頭的負號去掉
isMinus = true;//第一個數(shù)是負數(shù)
}
if (cText.contains("+")){
String[] s = cText.split("\\+");//切分字符串 得到只有兩個數(shù)字字符串的數(shù)組
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";
}
//得到需要運算的兩個數(shù)
private double[] getNum(String[] s,boolean isMinus){
double[] num =new double[2];
if (isMinus) {
num[0] = -Double.parseDouble(s[0]);//如果第一個數(shù)是負數(shù),加上符號
}
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>