Android基礎--按鈕監聽事件練習(基礎功能)

定義Button頁面的文件 activity_button.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="match_parent"
    android:layout_height="match_parent"
    tools:context=".ButtonActivity"
    android:orientation="vertical">

    <Button
        android:id="@+id/btm1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="點擊了【取消】按鈕"
        android:layout_marginTop="100dp"
        android:onClick="Click"/>

    <Button
        android:id="@+id/btm2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="簡單列表對話框"
        android:layout_marginTop="50dp"
        android:onClick="Click"/>

    <Button
        android:id="@+id/btm3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="單選列表對話框"
        android:layout_marginTop="50dp"
        android:onClick="Click"/>

    <Button
        android:id="@+id/btm4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="多選列表對話框"
        android:layout_marginTop="50dp"
        android:onClick="Click"/>

    <Button
        android:id="@+id/btm5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="自定義VIEW對話框"
        android:layout_marginTop="50dp"
        android:onClick="Click"/>
</LinearLayout>

設置邏輯的文件 ButtonActivity.java 以下:

package com.example.myapplication;

import android.app.Activity;
import android.content.DialogInterface;
import android.os.Bundle;

import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import android.text.method.CharacterPickerDialog;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class ButtonActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button);

    }

    public void Click(View v){
        switch(v.getId()){
            //獲取Button的id進行判斷
            case R.id.btm1:
                //聲明對話框構建器
                AlertDialog.Builder btm1_builer = new AlertDialog.Builder(this);
                //設置對話框標題
                btm1_builer.setTitle("提示");
                //設置對話框主體內容
                btm1_builer.setMessage("請點擊取消按鈕");
                //設置「取消」選項
                btm1_builer.setNegativeButton("取消",null);
                //顯示構建器
                btm1_builer.show();
                break;
            case R.id.btm2:
                //聲明對話框內容列表
                final String[] btm2_items = {"C"};
                //聲明對話框構建器
                AlertDialog.Builder btm2_builer = new AlertDialog.Builder(this);
                //設置對話框標題
                btm2_builer.setTitle("我是一個簡單列表。");
                //設置對話框的內容列表
                btm2_builer.setItems(btm2_items, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                });
                //顯示構建器
                btm2_builer.show();
                break;
            case R.id.btm3:
                //使用數組做爲對話框內容列表
                final String[] btm3_items = {"C","Java","Android"};
                //聲明對話框構建器
                AlertDialog.Builder btm3_builer = new AlertDialog.Builder(this);
                //設置對話框標題
                btm3_builer.setTitle("我是一個單選列表。");
                //設置對話框的內容列表
                btm3_builer.setItems(btm3_items, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                });
                //顯示構建器
                btm3_builer.show(); 
                break;
            case R.id.btm4:
                //使用數組做爲對話框多選列表
                final String[] btm4_items = {"C","C++","Python","Java","Android"};
                //設置初始狀態爲不勾選
                final boolean initChoiceSets[]={false,false,false,false,false};
                //聲明對話框構建器
                AlertDialog.Builder btm4_builer = new AlertDialog.Builder(this);
                //設置對話框標題
                btm4_builer.setTitle("我是一個多選列表");
                //設置對話框的多選列表
                btm4_builer.setMultiChoiceItems(btm4_items, initChoiceSets, new DialogInterface.OnMultiChoiceClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                        Log.i("TEST", which+";"+isChecked);
                    }
                });
                //設置「肯定」選項
                btm4_builer.setPositiveButton("肯定",null);
                //顯示構建器
                btm4_builer.show();   
                break;
            case R.id.btm5:
                //設置輸入框
                final EditText editText = new EditText(this);
                //聲明對話框構建器
                AlertDialog.Builder btm5_builer = new AlertDialog.Builder(this);
                //設置對話框標題,顯示輸入框
                btm5_builer.setTitle("我是一個自定義對話框").setView(editText);
                //設置「肯定」選項
                btm5_builer.setPositiveButton("肯定",null);
                //顯示構建器
                btm5_builer.show();    
                break;
        }
    }
}

效果:

相關文章
相關標籤/搜索