Kotlin Android 高效入門
線上課程
  • Kotlin Android 高效入門
  • Android 開發準備
    • 0 Git 版本控制系統
      • 0.1 Gitlab 網站
      • 0.2 Gitlab 範例專案
      • 0.3 Gitlab 取得本書範例
      • 0.4 版本切換
    • 1 Android 系統與應用程式
      • 1.1 Android 版本演進
      • 1.2 Android 系統架構
      • 1.3 應用程式基礎
      • 1.4 應用程式元件
      • 1.5 應用程式宣告檔
      • 1.6 Android Studio 開發環境
    • 2 開發環境安裝
      • 2.1 基礎環境-JDK
      • 2.2 整合開發工具-Android Studio
      • 2.3 必要的設定
  • Android 專案開發
    • 3 Android 專案架構與 Activity
      • 3.1 建立Bmi專案
      • 3.2 AndroidManifest.xml載運清單
      • 3.3 畫面配置-Layout
      • 3.4 Java/Kotlin 類別
      • 3.5 資源 Resources
      • 3.6 Android Support Library-支援函式庫
    • 4 版面配置環境
      • 4.1 版面配置設計畫面
      • 4.2 ConstraintLayout 版面配置
      • 4.3 LinearLayout 流水式版面
      • 4.4 元件的高度與寬度
      • 4.5 元件位置與距離
    • 5 Kotlin 語言基礎
      • 5.1 Kotlin 基礎知識
      • 5.2 類別與物件
    • 6 Activity 設計
      • 6.1 Bmi 專案功能設計
      • 6.2 MainActivity 中取得畫面元件
      • 6.3 按鈕的事件處理
      • 6.4 使用浮動顯示-Toast類別
      • 6.5 使用對話框-AlertDialog 類別
      • 6.6 多國語言
      • 6.7 按鈕事件處理-匿名類別與 lambda
  • 線上課程
    • 20 線上課程 courses
Powered by GitBook
On this page

Was this helpful?

  1. Android 專案開發
  2. 6 Activity 設計

6.4 使用浮動顯示-Toast類別

Previous6.3 按鈕的事件處理Next6.5 使用對話框-AlertDialog 類別

Last updated 5 years ago

Was this helpful?

Android 提供浮動顯示的元件「android.widget.Toast」Java 類別, 使用 Toast 類別的靜態方法 makeText 方法可以浮動顯示文字,規格如下:

Toast.makeText(Context context, Charsequence text, int duration)

第一個參數為 Context,目前類別 MainActivity 即是一個 Context 物 件,因為 Activity 的上二層父類別就是 Context,因此本類別 MainActivity 即是 Context 的一種,可使用「this」關鍵字代表本類別。第二個參數為 「Charsequence」介面,Java 的 String 類別即是實作了此介面,因此第二個參數即是想要顯示的字串值。最後,第三個參數為浮動顯示的時間長度,1 代表較長的時間停留在畫面上(大概三秒),而 0 代表較短時間,使用範例如下:

Toast.makeText(this, "Hello", Toast.LENGTH_LONG).show()

請注意第三個參數,不要直接使用 1 或 0,應使用 Toast 類別中為其所定義的 LENGTH_LONG 或 LENGTH_SHORT 代表長與短時間的常數,雖然程式碼會比起直接給1或 0 來得長,但能大大增加程式在未來的可讀性。 最後,別忘了呼叫 Toast 類別的 show 方法才會在畫面下方顯示浮動資訊。

在本例先呼叫 bmi 值(Float型態)的 toString() 方法得到轉換後的字串後,即可浮動顯示BMI值, 程式碼如下:

    fun bmi(view: View) {
        val weight = edWeight.text.toString().toFloat()
        val height = edHeight.text.toString().toFloat()
        val bmi = weight / (height*height)
        Log.d("MainActivity", "bmi: ${bmi}")
        Toast.makeText(this, bmi.toString(), Toast.LENGTH_LONG).show()
    }

執行結果如下圖:

使用浮動顯示主要目的是盡量不影響使用者,不需要即時的資訊可以使 用 Toast 類別顯示,但如果有重要資訊需告知使用者,則可使用 AlertDialog 對話框。