Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android Toast小解

Android Toast小解

編輯:關於Android編程

簡介:Toast英文含義是吐司,在Android中,它就像烘烤機裡做好的吐司彈出來,並持續一小段時間後慢慢消失。

Toast也是一個容器,可以包含各種View,並承載著它們顯示。

Android中提供一種簡單的Toast消息提示框機制,可以在用戶點擊了某些按鈕後,提示用戶一些信息,提示的信息不能被用戶點擊,Toast的提示信息根據用戶設置的顯示時間後自動消失。Toast的提示信息可以在調試程序的時候方便的顯示某些想顯示的東西,或者給用戶提供友好的界面顯示效果。

有兩種方式去創建並且顯示Toast:

  1. Toast.makeText(Context context, int resId, int duration)
    Toast.makeText(Context context, CharSequence text, int duration)
    Context為上下文,通常為當前activity;resId是string字符串的id,CharSequence為你要顯示的字符串,duration為顯示的時間,可以選擇Toast.LENGTH_SHORT或Toast.LENGTH_LONG,也可自定義時間。 使用方法:
    Toast.makeText(this, "this is string", Toast.LENGTH_SHORT).show();

  2. 自己創建Toast,並且設置視圖,即自定義

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    Toast toast = new Toast(this);       
    // 定義一個ImageView      
    ImageView imageView = new ImageView(this);        
    imageView.setImageResource(R.drawable.ic_launcher);       
    // 定義一個Layout,這裡是Layout       
    LinearLayout Layout = new LinearLayout(this);     
    Layout.setOrientation(LinearLayout.HORIZONTAL);       
    // 將ImageView放到Layout中        
    Layout.addView(imageView);        
    // 設置View     
    toast.setView(Layout);        
    //設置顯示時間      
    toast.setDuration(20);        
    toast.show();     

    通過上面的代碼就可以自己定義一個Toast了,我們還在其中顯示了圖片。

    如何設置Toast顯示的位置

    方法一:

    setGravity(int gravity, int xOffset, int yOffset) 三個參數分別表示(起點位置,水平向右位移,垂直向下位移)

    方法二:

    setMargin(float horizontalMargin, float verticalMargin) 以橫向和縱向的百分比設置顯示位置,參數均為float類型(水平位移正右負左,豎直位移正上負下)

    //默認的Gravity就是Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM


    Toast toast = Toast.makeText(this, "set your gesture firstly", Toast.LENGTH_LONG); //toast提示
    toast.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM, 0, 0); //先設置重心
    toast.setMargin(0f, 0.1f) ; //設置相對重心位置
    toast.show();


    注意事項:

    Toast中有一個public方法setText(),可以給toast設置resid或者string,該方式盡可以在我們的第一種方法中使用,第二種自定義toast的方式是不可以使用的,使用的話會拋出異常。

    原因是使用第一種方式創建,Toast會自己創建一個view,即textview,而我們使用這個setText實際是向這個TextView設置內容,而自定義的View不會有這個控件,因此會報錯。

    //加設置位置Toast toast = Toast.makeText(this, "set your gesture firstly", Toast.LENGTH_LONG); //toast提示//toast.setGravity(Gravity.BOTTOM, 20, 60); toast.show();


ref:http://blog.csdn.net/pipisorry/article/details/26837809

http://blog.isming.me/blog/2014/03/22/toast-use/

http://android.codemach.com/zai-android-zhong-shi-yong-toast-jin-xing-ti-shi.html



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved