Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發系列(三):消息模式的Toast.make Text

Android開發系列(三):消息模式的Toast.make Text

編輯:關於Android編程

轉自:http://daikainan.iteye.com/blog/1405575

Toast 是一個 View 視圖,快速的為用戶顯示少量的信息。 Toast 在應用程序上浮動顯示信息給用戶,它永遠不會獲得焦點,不影響用戶的輸入等操作,主要用於 一些幫助 / 提示。

Toast 最常見的創建方式是使用靜態方法 Toast.makeText

我使用的是 SDK 2.2

1. 默認的顯示方式
\


Java代碼


1 // 第一個參數:當前的上下文環境。可用getApplicationContext()或this 
2 // 第二個參數:要顯示的字符串。也可是R.string中字符串ID 
3 // 第三個參數:顯示的時間長短。Toast默認的有兩個LENGTH_LONG(長)和LENGTH_SHORT(短),也可以使用毫秒如2000ms 
4 Toast toast=Toast.makeText(getApplicationContext(), "默認的Toast", Toast.LENGTH_SHORT); 
5 //顯示toast信息 
6 toast.show(); 

2. 自定義顯示位置
\


Java代碼

復制代碼
1 Toast toast=Toast.makeText(getApplicationContext(), "自定義顯示位置的Toast", Toast.LENGTH_SHORT); 
2 //第一個參數:設置toast在屏幕中顯示的位置。我現在的設置是居中靠頂 
3 //第二個參數:相對於第一個參數設置toast位置的橫向X軸的偏移量,正數向右偏移,負數向左偏移 
4 //第三個參數:同的第二個參數道理一樣 
5 //如果你設置的偏移量超過了屏幕的范圍,toast將在屏幕內靠近超出的那個邊界顯示 
6 toast.setGravity(Gravity.TOP|Gravity.CENTER, -50, 100); 
7 //屏幕居中顯示,X軸和Y軸偏移量都是0 
8 //toast.setGravity(Gravity.CENTER, 0, 0); 
9 toast.show(); 
復制代碼

3. 帶圖片的
\


Java代碼

復制代碼
 1 Toast toast=Toast.makeText(getApplicationContext(), "顯示帶圖片的toast", 3000); 
 2 toast.setGravity(Gravity.CENTER, 0, 0); 
 3 //創建圖片視圖對象 
 4 ImageView imageView= new ImageView(getApplicationContext()); 
 5 //設置圖片 
 6 imageView.setImageResource(R.drawable.ic_launcher); 
 7 //獲得toast的布局 
 8 LinearLayout toastView = (LinearLayout) toast.getView(); 
 9 //設置此布局為橫向的 
10 toastView.setOrientation(LinearLayout.HORIZONTAL); 
11 //將ImageView在加入到此布局中的第一個位置 
12 toastView.addView(imageView, 0); 
13 toast.show(); 
復制代碼

4. 完全自定義顯示方式

\
Java代碼<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KCjxpbWcgc3JjPQ=="https://www.android5.online/Android/UploadFiles_5356/201702/2017022316355445.gif" alt="復制代碼">

 1 //Inflater意思是充氣 
 2 //LayoutInflater這個類用來實例化XML文件到其相應的視圖對象的布局 
 3 LayoutInflater inflater = getLayoutInflater(); 
 4 //通過制定XML文件及布局ID來填充一個視圖對象 
 5 View layout = inflater.inflate(R.layout.custom2,(ViewGroup)findViewById(R.id.llToast)); 
 6 
 7 ImageView image = (ImageView) layout.findViewById(R.id.tvImageToast); 
 8 //設置布局中圖片視圖中圖片 
 9 image.setImageResource(R.drawable.ic_launcher); 
10 
11 TextView title = (TextView) layout.findViewById(R.id.tvTitleToast); 
12 //設置標題 
13 title.setText("標題欄"); 
14 
15 TextView text = (TextView) layout.findViewById(R.id.tvTextToast); 
16 //設置內容 
17 text.setText("完全自定義Toast"); 
18 
19 Toast toast= new Toast(getApplicationContext()); 
20 toast.setGravity(Gravity.CENTER , 0, 0); 
21 toast.setDuration(Toast.LENGTH_LONG); 
22 toast.setView(layout); 
23 toast.show(); 
復制代碼


5. 其他線程通過 Handler 的調用

\

Java代碼

復制代碼
 1 //調用方法1 
 2 //Thread th=new Thread(this); 
 3 //th.start(); 
 4 //調用方法2 
 5 handler.post(new Runnable() { 
 6 @Override 
 7 public void run() { 
 8 showToast(); 
 9 } 
10 }); 
復制代碼



Java代碼

1 public void showToast(){ 
2 Toast toast=Toast.makeText(getApplicationContext(), "Toast在其他線程中調用顯示", Toast.LENGTH_SHORT); 
3 toast.show(); 
4 } 

Java代碼

復制代碼
 1 Handler handler=new Handler(){ 
 2 @Override 
 3 public void handleMessage(Message msg) { 
 4 int what=msg.what; 
 5 switch (what) { 
 6 case 1: 
 7 showToast(); 
 8 break; 
 9 default: 
10 break; 
11 } 
12 
13 super.handleMessage(msg); 
14 } 
15 }; 
復制代碼



Java代碼

1 @Override 
2 public void run() { 
3 handler.sendEmptyMessage(1); 
4 }
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved