Android點擊button觸發Toast事件

學習記錄:

我們想要的效果是,彈出一個小小的消息框,幾秒鐘之後自動消失

新建一個基礎工程:

MainActivity中添加如下內容:

package com.example.reactest;

 

import androidx.appcompat.app.AppCompatActivity;

 

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.Toast;

 

public class MainActivity extends AppCompatActivity {

//    向下兼容的Activity 其中AppCompatActivityActivity的子類 ActivityAndroid系統提供的一個活動基類

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        /*

        * 加載一個佈局,傳入佈局ID R.layout.activity_main

        *

        * */

        setContentView(R.layout.activity_main);

 

        /*

        * 通過button觸發Toast 通過onCreate方法中添加代碼

        * 先通過findViewById() 獲得buttonPanel   這個元素實例  操作方式爲:  findViewById(R.id.buttonPanel);

        * 由於這個方法返回的是    view    對象,需要向下轉型成Button對象

        * 向下轉型:向下轉型:子類引用指向父類對象  Father  f1 = new Son();   // 這就叫 upcasting (向上轉型), 現在f1引用指向一個Son對象

        * 向上轉型:父類引用指向子類對象           Son     s1 = (Son) f1;   // 這就叫 downcasting (向下轉型),現在f1還是指向Son對象

         * */

        Button button_Panel = (Button)findViewById(R.id.buttonPanel);

        /*

        * setOnClickListener() 給這個實例註冊監聽器  OnClickListener()   但是使用語句爲 View.OnClickListener()

        * 爲什麼前面要加個View呢,原因就是後面的OnClickListener是個View類內部的接口,如果直接使用是找不到這個接口的。

        * */

        button_Panel.setOnClickListener(new View.OnClickListener() {

            /*

            * 監聽創建完成,點擊按鈕如果被監聽到就會執行 onClick() 方法,所以

            * Toast的功能要在onClick()中寫.

            * */

            @Override

            public void onClick(View v) {

                /*

                * 我們想要的效果是,彈出一個小小的消息框,幾秒鐘之後自動消失

                * 構想:一個文本框,一個定時器,一個佈局位置.一個顯示方法

                * 用靜態方法 makeText()創建一個  Toast對象,調用  show()Toast顯示.

                * 說明:   makeText(參數一[Toast要求的上下文  ],    參數二[Toast顯示的文本內容],  參數三[Toast顯示的時長])

                *   參數一:    Context,由於i活動本身就是一個Context對象,因此直接傳入 MainActivity.this

                *   參數二:    內容

                *   參數三:    有兩個內置常量 Toast.LENGTH_SHORT    Toast.LENGTH_LONG

                *

                *   引用結束之後記得用   show()方法顯示

                * */

                Toast.makeText(MainActivity.this,"你好啊",Toast.LENGTH_SHORT).show();

            }

        });

 

    }

}

在佈局視圖下添加:

<?xml version="1.0" encoding="utf-8"?>

function(){ //交易槓桿 http://www.fx61.com/definitions/muniu/481.html

<androidx.constraintlayout.widget.ConstraintLayout 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=".MainActivity">

 

    <!--    只要創建任何資源都會在R文件中生成一個資源id

    在引用佈局的時候會調用R.layout.(Activity)可以得到XXXX.xml佈局中的id,然後將這個值傳到setContentVies()方法即可-->

 

    <!--    wrap_content    當前寬度只要剛好包含裏邊的內容就行-->

    <!--    match_parent    當前元素和父元素一樣寬 相配,相稱    -->

 

    <Button

        android:id="@+id/buttonPanel"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:text="1"

        tools:ignore="MissingConstraints" />

 

<!--    通過button觸發Toast 通過onCreate方法中添加代碼-->

 

 

</androidx.constraintlayout.widget.ConstraintLayout>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章