返回列表 發帖

AlertDialog

改寫主題 ImageView 的程式碼,在畫面左下方新增一按鈕 "結束",alpha 值設 0.8,使其呈現顏色稍暗的效果。當點擊 "結束" 時,會跳出包含 "確定" 與 "取消" 的 AlertDialog 確認視窗。




附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

  1. package com.example.student.myapplication;

  2. import android.app.AlertDialog;
  3. import android.content.DialogInterface;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.widget.Button;
  8. import android.widget.ImageView;

  9. public class MainActivity extends AppCompatActivity {

  10.     private int imgId[] = {R.drawable.img01, R.drawable.img02, R.drawable.img03, R.drawable.img04, R.drawable.img05, R.drawable.img06};
  11.     private Button btn1, btn2, end;
  12.     private ImageView imageView;
  13.     private int p = 0, count = imgId.length;


  14.     @Override
  15.     protected void onCreate(Bundle savedInstanceState) {
  16.         super.onCreate(savedInstanceState);
  17.         setContentView(R.layout.activity_main);
  18.         setTitle("第 " + (p + 1) + " / " + count + " 張");
  19.         btn2 = (Button) findViewById(R.id.button2);
  20.         btn1 = (Button) findViewById(R.id.button1);
  21.         end = (Button) findViewById(R.id.end);
  22.         imageView = (ImageView) findViewById(R.id.imageView);
  23.         btn1.setOnClickListener(myListener);
  24.         btn2.setOnClickListener(myListener);
  25.         end.setOnClickListener(myListener);
  26.     }

  27.     public View.OnClickListener myListener = new View.OnClickListener() {
  28.         @Override
  29.         public void onClick(View v) {
  30.             switch (v.getId()) {
  31.                 case R.id.button1:
  32.                     p--;
  33.                     if (p < 0)
  34.                         p = count - 1;
  35.                     imageView.setImageResource(imgId[p]);
  36.                     setTitle("第 " + (p + 1) + " / " + count + " 張");
  37.                     break;
  38.                 case R.id.button2:
  39.                     p++;
  40.                     if (p == count)
  41.                         p = 0;
  42.                     imageView.setImageResource(imgId[p]);
  43.                     setTitle("第 " + (p + 1) + " / " + count + " 張");
  44.                     break;
  45.                 case R.id.end:
  46.                     AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
  47.                     builder.setTitle("確認視窗");
  48.                     builder.setIcon(R.mipmap.ic_launcher);
  49.                     builder.setMessage("即將離開應用程式!");
  50.                     builder.setPositiveButton("確認", new DialogInterface.OnClickListener() {
  51.                         @Override
  52.                         public void onClick(DialogInterface dialog, int which) {
  53.                             finish();
  54.                         }
  55.                     });
  56.                     builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
  57.                         @Override
  58.                         public void onClick(DialogInterface dialog, int which) {


  59.                         }
  60.                     });
  61.                     builder.show();
  62.                     builder.setCancelable(false);
  63.                     break;
  64.             }
  65.         }
  66.     };
  67. }
複製代碼
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
  4.     android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
  5.     android:paddingRight="@dimen/activity_horizontal_margin"
  6.     android:paddingTop="@dimen/activity_vertical_margin"
  7.     android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
  8.     android:background="#000000">



  9.     <Button
  10.         android:layout_width="wrap_content"
  11.         android:layout_height="wrap_content"
  12.         android:text="下一頁"
  13.         android:id="@+id/button2"
  14.         android:layout_alignParentBottom="true"
  15.         android:layout_alignParentEnd="true"
  16.         android:layout_marginBottom="172dp" />

  17.     <Button
  18.         android:layout_width="wrap_content"
  19.         android:layout_height="wrap_content"
  20.         android:text="上一頁"
  21.         android:id="@+id/button1"
  22.         android:layout_alignTop="@+id/button2"
  23.         android:layout_alignParentStart="true" />

  24.     <ImageView
  25.         android:layout_width="wrap_content"
  26.         android:layout_height="wrap_content"
  27.         android:id="@+id/imageView"
  28.         android:layout_alignParentTop="true"
  29.         android:layout_alignEnd="@+id/button2"
  30.         android:layout_alignParentStart="true"
  31.         android:layout_above="@+id/button2" />

  32.     <Button
  33.         android:layout_width="wrap_content"
  34.         android:layout_height="wrap_content"
  35.         android:text="結束"
  36.         android:id="@+id/end"
  37.         android:layout_below="@+id/button1"
  38.         android:layout_alignParentStart="true"
  39.         android:layout_marginTop="46dp" />

  40. </RelativeLayout>
複製代碼

TOP

  1. package com.example.student.myapplication;

  2. import android.app.AlertDialog;
  3. import android.content.DialogInterface;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.widget.Button;
  8. import android.widget.ImageView;

  9. public class MainActivity extends AppCompatActivity {

  10.     private int Id[] = {R.drawable.img01, R.drawable.img02, R.drawable.img03, R.drawable.img04, R.drawable.img05, R.drawable.img06};
  11.     private Button btn1, btn2, end;
  12.     private ImageView imageView;
  13.     private int n = 0, cnt = Id.length;


  14.     @Override
  15.     protected void onCreate(Bundle savedInstanceState) {
  16.         super.onCreate(savedInstanceState);
  17.         setContentView(R.layout.activity_main);
  18.         setTitle("第 " + (n + 1) + " / " + cnt + " 張");
  19.         btn2 = (Button) findViewById(R.id.button2);
  20.         btn1 = (Button) findViewById(R.id.button1);
  21.         end = (Button) findViewById(R.id.end);
  22.         imageView = (ImageView) findViewById(R.id.imageView);
  23.         btn1.setOnClickListener(myListener);
  24.         btn2.setOnClickListener(myListener);
  25.         end.setOnClickListener(myListener);
  26.     }

  27.     public View.OnClickListener myListener = new View.OnClickListener() {
  28.         @Override
  29.         public void onClick(View v) {
  30.             switch (v.getId()) {
  31.                 case R.id.button1:
  32.                         n--;
  33.                         if (n < 0)
  34.                             n = cnt - 1;
  35.                         imageView.setImageResource(Id[n]);
  36.                         setTitle("第 " + (n + 1) + " / " + cnt + " 張");
  37.                         break;
  38.                 case R.id.button2:
  39.                         n++;
  40.                         if (n == cnt)
  41.                             n = 0;
  42.                         imageView.setImageResource(Id[n]);
  43.                         setTitle("第 " + (n + 1) + " / " + cnt + " 張");
  44.                         break;
  45.                 case R.id.end:
  46.                         AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
  47.                         builder.setTitle("確認視窗");
  48.                         builder.setIcon(R.mipmap.ic_launcher);
  49.                         builder.setMessage("即將離開應用程式!");
  50.                         builder.setPositiveButton("確認", new DialogInterface.OnClickListener() {
  51.                             @Override
  52.                             public void onClick(DialogInterface dialog, int which) {
  53.                                 finish();
  54.                             }
  55.                         });
  56.                         builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
  57.                             @Override
  58.                             public void onClick(DialogInterface dialog, int which) {


  59.                             }
  60.                         });
  61.                         builder.show();
  62.                         builder.setCancelable(false);
  63.                         break;
  64.             }
  65.         }
  66.     };
  67. }
複製代碼

TOP

  1. package com.example.student.myapplication_20181103;

  2. import android.app.AlertDialog;
  3. import android.content.DialogInterface;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.widget.Button;
  8. import android.widget.ImageView;
  9. import android.widget.TextView;

  10. public class MainActivityimage extends AppCompatActivity {
  11.     Button next;
  12.     Button last;
  13.     ImageView pic;
  14.     int sp = 1;
  15.     int picture[] = new  int[6];

  16.     @Override
  17.     protected void onCreate(Bundle savedInstanceState) {
  18.         super.onCreate(savedInstanceState);
  19.         setContentView(R.layout.activity_main_activityimage);
  20.         Init();

  21.     }

  22.     Button.OnClickListener clicklistener = new Button.OnClickListener() {
  23.         @Override
  24.         public void onClick(View v) {
  25.             Button temp = (Button)findViewById(v.getId());
  26.             if(temp.getId() == R.id.next){

  27.                 if(sp != 6) {
  28.                     ++sp;
  29.                     pic.setImageResource(picture[sp - 1]);
  30.                 }
  31.                 else{
  32.                     new AlertDialog.Builder(MainActivityimage.this)
  33.                             .setTitle("錯誤訊息")
  34.                             .setMessage("到底了")
  35.                             .setCancelable(false)
  36.                             .setPositiveButton("確定", new DialogInterface.OnClickListener() {
  37.                                 @Override
  38.                                 public void onClick(DialogInterface dialog, int which) {

  39.                                 }
  40.                             })
  41.                             .setNegativeButton("取消", new DialogInterface.OnClickListener() {
  42.                                 @Override
  43.                                 public void onClick(DialogInterface dialog, int which) {

  44.                                 }
  45.                             })

  46.                             .show();
  47.                 }
  48.             }
  49.             else if(temp.getId() == R.id.last){

  50.                 if(sp != 0 ) {
  51.                     sp--;
  52.                     pic.setImageResource(picture[sp - 1]);
  53.                 }
  54.                 else{
  55.                     new AlertDialog.Builder(MainActivityimage.this)
  56.                             .setTitle("錯誤訊息")
  57.                             .setMessage("到底了")
  58.                             .setPositiveButton("確定", new DialogInterface.OnClickListener() {
  59.                                 @Override
  60.                                 public void onClick(DialogInterface dialog, int which) {

  61.                                 }
  62.                             })
  63.                             .setNegativeButton("取消", new DialogInterface.OnClickListener() {
  64.                                 @Override
  65.                                 public void onClick(DialogInterface dialog, int which) {

  66.                                 }
  67.                             })

  68.                             .show();
  69.                 }
  70.             }
  71.         }
  72.     };

  73.     public void Init(){


  74.         next = (Button)findViewById(R.id.next);
  75.         next.setOnClickListener(clicklistener);
  76.         last = (Button)findViewById(R.id.last);
  77.         last.setOnClickListener(clicklistener);
  78.         pic = (ImageView)findViewById(R.id.pic);
  79.         pic.setImageResource(R.drawable.img01);
  80.         picture[0] = R.drawable.img01;
  81.         picture[1] = R.drawable.img02;
  82.         picture[2] = R.drawable.img03;
  83.         picture[3] = R.drawable.img04;
  84.         picture[4] = R.drawable.img05;
  85.         picture[5] = R.drawable.img06;





  86.     }
  87. }
複製代碼

TOP

本帖最後由 李知易 於 2018-11-9 21:12 編輯
  1. package com.example.user.hw20181021;

  2. import android.app.AlertDialog;
  3. import android.content.DialogInterface;
  4. import android.os.Bundle;
  5. import android.support.v7.app.AppCompatActivity;
  6. import android.view.View;
  7. import android.view.View.OnClickListener;
  8. import android.widget.ImageView;
  9. import android.widget.Toast;

  10. public class MainActivity extends AppCompatActivity {
  11.     ImageView imageView;
  12.     int image[]=new int[6];
  13.     int index=0;

  14.     @Override
  15.     protected void onCreate(Bundle savedInstanceState) {
  16.         super.onCreate(savedInstanceState);
  17.         setContentView(R.layout.activity_main);
  18.         imageView=(ImageView)findViewById(R.id.imageView);
  19.         this.setTitle("第"+(index+1)+"/6張");
  20.         image[0]=R.drawable.img01;
  21.         image[1]=R.drawable.img02;
  22.         image[2]=R.drawable.img03;
  23.         image[3]=R.drawable.img04;
  24.         image[4]=R.drawable.img05;
  25.         image[5]=R.drawable.img06;
  26.         imageView.setImageResource(image[0]);
  27.     }

  28.     public void previous(View view) {
  29.         if (index > 0) {
  30.             imageView.setImageResource(image[--index]);
  31.             this.setTitle("第" + (index + 1) + "/6張");
  32.         }else{
  33.             final AlertDialog dialog =new AlertDialog.Builder(MainActivity.this)
  34.                     .setTitle("Error")
  35.                     .setMessage("This is the first page!")
  36.                     .setCancelable(false)
  37.                     .setPositiveButton("Okay", new DialogInterface.OnClickListener() {
  38.                         @Override
  39.                         public void onClick(DialogInterface dialog, int which) {
  40.                             Toast.makeText(getApplicationContext(),"Okay", Toast.LENGTH_SHORT).show();
  41.                         }
  42.                     })
  43.                     .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
  44.                         @Override
  45.                         public void onClick(DialogInterface dialog, int which) {
  46.                             Toast.makeText(getApplicationContext(),"Cancel", Toast.LENGTH_SHORT).show();
  47.                         }
  48.                     })

  49.                     .show();
  50.         }
  51.     }

  52.     public void next(View view) {
  53.         if (index < image.length - 1) {
  54.             imageView.setImageResource(image[++index]);
  55.             this.setTitle("第" + (index + 1) + "/6張");
  56.         }else{
  57.             final AlertDialog dialog =new AlertDialog.Builder(MainActivity.this)
  58.                     .setTitle("Error")
  59.                     .setMessage("It is already the last page!")
  60.                     .setCancelable(false)
  61.                     .setPositiveButton("Okay", new DialogInterface.OnClickListener() {
  62.                         @Override
  63.                         public void onClick(DialogInterface dialog, int which) {
  64.                             Toast.makeText(getApplicationContext(), "Okay", Toast.LENGTH_SHORT).show();
  65.                         }
  66.                     })
  67.                     .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
  68.                         @Override
  69.                         public void onClick(DialogInterface dialog, int which) {
  70.                             Toast.makeText(getApplicationContext(), "Cancel", Toast.LENGTH_SHORT).show();
  71.                         }
  72.                     })
  73.                     .setCancelable(false)
  74.                     .show();
  75.         }
  76.     }

  77.     public void left(View view) {

  78.     }

  79. }
複製代碼

TOP

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     xmlns:app="http://schemas.android.com/apk/res-auto"
  4.     xmlns:tools="http://schemas.android.com/tools"
  5.     android:id="@+id/activity_main"
  6.     android:layout_width="match_parent"
  7.     android:layout_height="match_parent"
  8.     tools:context="ray.ap.hw1071021.MainActivity"
  9.     android:orientation="vertical">

  10.     <ImageView
  11.         android:layout_width="match_parent"
  12.         android:layout_height="300dp"
  13.         app:srcCompat="@drawable/img01"
  14.         android:id="@+id/imageView"
  15.         />

  16.     <TableLayout
  17.         android:layout_width="match_parent"
  18.         android:layout_height="match_parent"
  19.         android:stretchColumns="0,1" >
  20.         <TableRow>
  21.             <Button
  22.                 android:text="上一頁"
  23.                 android:layout_width="match_parent"
  24.                 android:layout_height="wrap_content"
  25.                 android:id="@+id/button"
  26.                 android:onClick="previous" />
  27.             <Button
  28.                 android:text="下一頁"
  29.                 android:layout_width="match_parent"
  30.                 android:layout_height="wrap_content"
  31.                 android:id="@+id/button2"
  32.                 android:layout_alignTop="@+id/button"
  33.                 android:onClick="next" />
  34.         </TableRow>

  35.         <TableRow
  36.             android:layout_width="match_parent"
  37.             android:layout_height="match_parent"></TableRow>

  38.         <TableRow
  39.             android:layout_width="match_parent"
  40.             android:layout_height="match_parent"></TableRow>

  41.         <TableRow
  42.             android:layout_width="match_parent"
  43.             android:layout_height="match_parent"></TableRow>

  44.         <TableRow
  45.             android:layout_width="match_parent"
  46.             android:layout_height="match_parent"></TableRow>

  47.         <TableRow
  48.             android:layout_width="match_parent"
  49.             android:layout_height="match_parent"></TableRow>

  50.         <TableRow
  51.             android:layout_width="match_parent"
  52.             android:layout_height="match_parent"></TableRow>

  53.         <TableRow
  54.             android:layout_width="match_parent"
  55.             android:layout_height="match_parent"></TableRow>

  56.         <TableRow
  57.             android:layout_width="match_parent"
  58.             android:layout_height="match_parent"></TableRow>

  59.         <TableRow
  60.             android:layout_width="match_parent"
  61.             android:layout_height="match_parent"></TableRow>

  62.         <TableRow
  63.             android:layout_width="match_parent"
  64.             android:layout_height="match_parent">

  65.         </TableRow>

  66.         <TableRow
  67.             android:layout_width="match_parent"
  68.             android:layout_height="match_parent"></TableRow>

  69.         <TableRow
  70.             android:layout_width="match_parent"
  71.             android:layout_height="match_parent"></TableRow>

  72.         <TableRow
  73.             android:layout_width="match_parent"
  74.             android:layout_height="match_parent"></TableRow>

  75.         <TableRow
  76.             android:layout_width="match_parent"
  77.             android:layout_height="match_parent"></TableRow>

  78.         <TableRow
  79.             android:layout_width="match_parent"
  80.             android:layout_height="match_parent"></TableRow>

  81.         <TableRow
  82.             android:layout_width="match_parent"
  83.             android:layout_height="match_parent"></TableRow>

  84.         <TableRow
  85.             android:layout_width="match_parent"
  86.             android:layout_height="match_parent">

  87.             <Button
  88.                 android:layout_width="wrap_content"
  89.                 android:layout_height="wrap_content"
  90.                 android:text="結束"
  91.                 android:id="@+id/button3"
  92.                 android:layout_column="0"
  93.                 android:onClick="left" />
  94.         </TableRow>
  95.     </TableLayout>



  96. </LinearLayout>
複製代碼

TOP

  1. package com.smcs.yingwu.newalertdialog;

  2. import android.app.AlertDialog;
  3. import android.content.DialogInterface;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.widget.Button;
  8. import android.widget.ImageView;
  9. import android.widget.TextView;

  10. public class MainActivity extends AppCompatActivity {
  11.     Button back;
  12.     Button next;
  13.     ImageView ImageView;
  14.     int num = 1;
  15.     TextView textView;
  16.     int[] image = new int[6];
  17.     @Override
  18.     protected void onCreate(Bundle savedInstanceState) {
  19.         super.onCreate(savedInstanceState);
  20.         setContentView(R.layout.activity_main);
  21.         init();



  22.     }
  23.     public void init()
  24.     {
  25.         next = findViewById(R.id.button2);
  26.         back = findViewById(R.id.button);
  27.         ImageView = findViewById(R.id.imageView);
  28.         textView = findViewById(R.id.textView);
  29.         image[0] = R.drawable.img01;
  30.         image[1] = R.drawable.img02;
  31.         image[2] = R.drawable.img03;
  32.         image[3] = R.drawable.img04;
  33.         image[4] = R.drawable.img05;
  34.         image[5] = R.drawable.img06;
  35.         ImageView.setImageResource(image[0]);
  36.         rename();
  37.         next.setOnClickListener(new View.OnClickListener(){
  38.             @Override
  39.             public void onClick(View v) {
  40.                 if(num != 6)
  41.                 {
  42.                     num++;
  43.                     rename();
  44.                     ImageView.setImageResource(image[num-1]);
  45.                 }else{
  46.                     rename();
  47.                     new AlertDialog.Builder(MainActivity.this)
  48.                             .setTitle("錯誤訊息")
  49.                             .setMessage("已經到底了!")
  50.                             .setPositiveButton("確定", new DialogInterface.OnClickListener() {
  51.                                 @Override
  52.                                 public void onClick(DialogInterface dialog, int which) {

  53.                                 }
  54.                             })
  55.                             .setNegativeButton("取消", new DialogInterface.OnClickListener() {
  56.                                 @Override
  57.                                 public void onClick(DialogInterface dialog, int which) {

  58.                                 }
  59.                             })
  60.                             .show();
  61.                 }
  62.             }
  63.         });
  64.         back.setOnClickListener(new View.OnClickListener(){
  65.             @Override
  66.             public void onClick(View v) {
  67.                 if(num != 1)
  68.                 {
  69.                     num--;
  70.                     rename();
  71.                     ImageView.setImageResource(image[num-1]);
  72.                 }else{
  73.                     rename();
  74.                     new AlertDialog.Builder(MainActivity.this)
  75.                             .setTitle("錯誤訊息")
  76.                             .setMessage("已經到底了!")
  77.                             .setCancelable(false)
  78.                             .setPositiveButton("確定", new DialogInterface.OnClickListener() {
  79.                                 @Override
  80.                                 public void onClick(DialogInterface dialog, int which) {

  81.                                 }
  82.                             })
  83.                             .setNegativeButton("取消", new DialogInterface.OnClickListener() {
  84.                                 @Override
  85.                                 public void onClick(DialogInterface dialog, int which) {

  86.                                 }
  87.                             })
  88.                             .show();
  89.                 }
  90.             }
  91.         });
  92.     }
  93.     public void rename()
  94.     {
  95.         textView.setText("第"+num+"/6張");
  96.     }


  97. }
複製代碼

TOP

返回列表