Android 中的對話元件 (Dialog)

Android

簡介

使用方法

開發工具

開始寫程式

視覺化介面

視覺元件

對話元件

核心物件

事件處理

資料儲存

查詢功能

影音功能

繪圖功能

網路功能

衛星地圖

特殊功能

資源管理

裝置管理

系統核心

問題與回答

刷機升級

常用軟體

Eclipse

教學錄影

訊息

相關網站

參考文獻

最新修改

簡體版

English

Toast 元件

Context context = getApplicationContext();
CharSequence text = "Hello toast!";
int duration = Toast.LENGTH_SHORT;
 
Toast toast = Toast.makeText(context, text, duration);
toast.show();

另外,您也可以利用 toast.setGravity() 讓提示框顯示在特殊的地方,像是 toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0) 指令就會讓提示窗顯示在左上角。

狀態列提示 (Status Bar Notifications)

當背景服務 (background service) 需要提示訊息給使用者時,不可以直接建立一個新的 Activity ,而應該使用狀態列提示,等到使用者選擇提示並啟動某個 Activity 時,才開始執行特定的 Activity。

// 1. 取得 NotificationManager
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
 
// 2. 建立 Notification 物件
int icon = R.drawable.notification_icon;
CharSequence tickerText = "Hello";
long when = System.currentTimeMillis();
 
Notification notification = new Notification(icon, tickerText, when);
 
// 3. Define the Notification's expanded message and Intent:
 
Context context = getApplicationContext();
CharSequence contentTitle = "My notification";
CharSequence contentText = "Hello World!";
Intent notificationIntent = new Intent(this, MyClass.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
 
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
 
// 4. Pass the Notification to the NotificationManager:
private static final int HELLO_ID = 1;
 
mNotificationManager.notify(HELLO_ID, notification);

您也可以在 Notification 發生時用音樂或震動的方式,提示使用者 Notification 訊息,方法如下:

// 使用預設聲響
notification.defaults |= Notification.DEFAULT_SOUND;
// 使用記憶卡中的聲響
notification.sound = Uri.parse("file:///sdcard/notification/ringer.mp3");
// 使用網路上的聲響
notification.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6");

// 使用預設的震動方式
notification.defaults |= Notification.DEFAULT_VIBRATE;
// 使用自訂的震動方式
long[] vibrate = {0,100,200,300};
notification.vibrate = vibrate;

// 使用預設的閃燈方式
notification.defaults |= Notification.DEFAULT_LIGHTS;

// 使用自訂的閃燈方式
notification.ledARGB = 0xff00ff00;
notification.ledOnMS = 300;
notification.ledOffMS = 1000;
notification.flags |= Notification.FLAG_SHOW_LIGHTS;

參考文獻

  1. Android Developer:Notifying the User — http://developer.android.com/guide/topics/ui/notifiers/index.html

Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License