Android開發之:Toast和Notification

2021-02-08 IT168

  【IT168技術】之前我們的文章中曾經介紹Dialog,實際上已經實現了提醒功能,在Android中,還可以通過Toast(提醒)和Notification(通知)來實現提醒功能。和Dialog相比,這種提醒更加友好,並且不會打斷用戶的當前操作。本節詳細講解Toast和Notification控制項的級本概述,後續我們會介紹具體使用方法。

  Toast簡介

  Toast是Android中用來顯示信息的一種機制,和Dialog不一樣的是,Toast 是沒有焦點的,而且Toast顯示的時間有限,過一定的時間就會自動消失。例如,在下面的代碼中,編寫了Activity的子類別ToastDemo。

package com.a3gs.toast;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class ToastDemo extends Activity {
    private EditText myET;
    private Button myBtn;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
         myET = (EditText) findViewById(R.id.myET);
        myBtn = (Button) findViewById(R.id.myBtn);
        myBtn.setOnClickListener(new Button.OnClickListener(){
           @Override
           public void onClick(View v) {
              // TODO Auto-generated method stub
              Toast.makeText(ToastDemo.this, "您所填的信息是:" +
                        myET.getText ().toString(), Toast.LENGTH_LONG).show();
              myET.setText("");
           }
        });
    }
}

  然後編寫main.xml文件,其代碼如下。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/myText"
    />
<EditText  
    android:id="@+id/myET"
    android:layout_width="180px"
    android:layout_height="wrap_content"
    />
<Button  
    android:id="@+id/myBtn"
    android:layout_width="100px"
    android:layout_height="wrap_content"
    android:text="@string/BtnText"
    />
</LinearLayout>

  這樣,就簡單使用了Toast實現了提示功能。執行後的初始效果如圖6-61所示;輸入信息並單擊「發送」按鈕後,會以提示的方式顯示輸入的數據,如圖6-62所示。


相關焦點

  • Android 用戶界面---廣播通知(Toast Notifications)
    它只填充消息展現需要的空間,並且用戶當前的Activity依然可見和可交互。通知自動的漸入漸出,不接受交互事件。 下面圖1顯示一個例子是鬧鐘應用的廣播通知,一旦鬧鐘被打開,就會在你設置的提醒時間顯示一個廣播通知。
  • [Android] Toast問題深度剖析(一)
    但是,伴隨著我們開發的深入,Toast 的問題也逐漸暴露出來。本文章就將解釋 Toast 這些問題產生的具體原因。本系列文章將分成兩篇:1.異常和偶爾不顯示的問題當你在程序中調用了 Toast 的 API,你可能會在後臺看到類似這樣的 Toast 執行異常:android.view.WindowManager$BadTokenException    Unable to add window -- token android.os.BinderProxy@7f652b2 is not valid; is your
  • android 傳統藍牙開發 (附示例源碼)
    傳統藍牙,自己整理了一下思路,然後寫了一個BluetoothStudy小測試程序,來運用所理解的android傳統藍牙開發技術,寫下一些心得和思路,供其他android熱愛者參考,也方便日後回顧。博客如有錯誤之處,歡迎留言之處,十分感謝。博客最後會附上源碼,可下載借鑑。
  • Notification 使用詳解
    和你一起終身學習,這裡是程式設計師Android
  • 螞蟻森林自動收能量,可自動解鎖和自動觸發
    歡迎大家使用體驗、提交錯誤,後面將逐步完善並加入收好友能量功能;私信小編可獲取github票~目前只能收自己的,收好友能量的功能還在開發中...("啟動支付寶") app.launchApp("支付寶"); //text("螞蟻森林").waitFor(); toast("啟動完成"); className("android.widget.TextView").text("付錢").waitFor(); //bounds(33,103,843,180).click(); className("android.widget.ViewFlipper
  • 很少有人會告訴你的 Android 開發基本常識 移動開發
    軟體開發流程一個完整的軟體開發流程離不開策劃、交互、視覺、軟體、測試、維護和運營這七個環節,這七個環節並不是孤立的,它們是開發一款成功產品的前提,但每一項也都可以形成一個學科,是一個獨立的崗位,隨著敏捷開發的流行,以及來到了體驗為王的時代,現代軟體開發更多的是注重效率和敏捷,而不是循規蹈矩的遵循這些開發流程,比如軟體開發的崗位不再僅僅是個技術崗位,它需要去參與前期的設計和評審
  • 使用Kotlin來開發Android,愛上它的優雅
    終於,在Google 2017 IO大會上,Kotlin正式被選為作為Android開發的官方語言。之前聽說了這個傳奇的語言,但是並沒有認真的去嘗試使用他用到開發中,現在已經成為官方語言了,學習是必須的了!首先看看他的一些特性吧,之前看了一些Swift語言的特點,就先拿Kotlin和Swift和Java的對比來看看他的優勢吧。
  • 自定義Toast以及玩轉SnackBar
    looper);                LayoutInflater inflate = (LayoutInflater)                context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);                        View v = inflate.inflate(com.android.internal.R.layout.transient_notification
  • iOS和Android規範解析:提示框(Toast)對比
    然而現在很多應用中,存在對於toast過度使用的情況,並且常常出現Android樣式的toast出現在iOS應用中(反之亦然)的情形。在研究了iOS和Android的規範之後,筆者驚人地發現iOS中其實是沒有toast這種部件的。到底我們在設計的時候應該如何處理這種部件呢?且看下面的分解。
  • abase 1.0 發布 android 開發工具包 - OSCHINA - 中文開源技術...
    */public class VersionUtil /*** * 日期操作 工具 * @author 12 * */public class DateUtil/** * 列印 log *  * @author jayqqaa12 * @date 2013-6-5 */public class L/** * 獲得 logcat 的 日誌 信息 *  * <uses-permission android
  • Android實現導航欄添加消息數目提示功能
    開發中時常會出現信息提醒,新內容提示等等一堆問題。其實就是在各種控制項或者是item上面加「小圓點」。網上一搜一大堆。。。但是感覺說的好多。我們只需要基本功能2333.一、解需求思路在 RadioGroup 的 RadioButton 上面直接加小圓點,對於我來說實現有點困難,因為我下面還有文字。搞不好,文字就擠沒了。
  • Android各版本迭代改動與適配集合!
    Android6.0如果你的應用使用到了危險權限,比如在運行時進行檢查和請求權限。checkSelfPermission()方法用於檢查權限,requestPermissions() 方法用於請求權限。Android 6.0 版移除了對 Apache HTTP相關類庫的支持。
  • Android開發必備的「80」個開源庫
    wiki 周刊https://github.com/bboyfeiyu/android-tech-frontier/wiki值得閱讀的 Android 技術文章https://github.com/bboyfeiyu/Worth-Reading-the-Android-technical-articles整理一些比較好的 Android 開發教程
  • 在Ubuntu18.04中Android Studio開發環境搭建
    在這個一個手機走遍天下的年代,移動端手機應用開發人員也成為搶手貨了。作為移動端的作業系統Android佔據了半壁以上的江山,那麼今天就談談在Ubuntu18.04中,Android App應用的開發環境構建。
  • Android相機開發詳解
    本篇來自 Glumes 的投稿,分享了Android相機開發的相關知識,希望對大家有所幫助。Glumes 的博客地址:https://glumes.com/在 Android Camera 開發中,兩個比較鬧心的問題就是尺寸和方向了。
  • 一看就懂的Android APP開發入門教程
    工作中有做過手機App項目,前端和android或ios程式設計師配合完成整個項目的開發,開發過程中與ios程序配合基本沒什麼問題,而 android
  • 經驗丨Android開發最佳實踐
    +'compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.當下首推Android Studio,因為他是由谷歌開發,最接近Gradle,默認使用最新的工程結構,已經到beta階段 (目前已經有release 1.0了),它就是為Android開發定製的。你也可以使用Eclipse ADT ,但是你需要對它進行配置,因為它使用了舊的工程結構 和Ant作為構建系統。
  • Toast
    和外國朋友一起出席聚會時,總會聽到「toast」這個詞,它的意思是「乾杯,敬酒」。我們知道toast有「烤麵包片,吐司麵包」的意思,這和敬酒有什麼關係嗎? 據說從12世紀起,英國人飲酒時喜歡將香噴噴的麵包片(toast)浸到酒碗中,以增加酒的味道。
  • [乾貨] 【譯】Android 開發規範與應用
    當下首推Android Studio,因為他是由谷歌開發,最接近Gradle,默認使用最新的工程結構,已經到beta階段(目前已經有release 1.0了),它就是為Android開發定製的。你也可以使用Eclipse ADT ,但是你需要對它進行配置,因為它使用了舊的工程結構和Ant作為構建系統。