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

Android中Toast的使用

編輯:關於Android編程

Toast簡介

  Toast是一種沒有交點,顯示時間有限,不能與用戶進行交互,用於顯示提示信息的顯示機制,我們可以把它叫做提示框。Toast是沒有依賴性的,大家可能比較了解Dialog等其他顯示方式,他們是必須依賴於Activity的,必須通過在Activity中的調用才可以使用。而Toast則不依賴於Activity,也就是說,沒有Activity,依然可以使用Toast。
  
  Android的四大組件:Activity, Service, Broadcast Receiver, Contet Provider,都是繼承Context的(Context,現在大家稱之為上下文,之前又被翻譯為句柄。),包括整個Application也是繼承於Context的。Toast就是依賴於應用程序Application的Context。

Toast的簡單使用

  Toast有個靜態方法makeText,一般情況下使用Android中的Toast都是通過這個方法來獲得Toast對象的。
  
我們首先來看一下makeText方法:
這裡寫圖片描述

Context context:是指Toast依賴的Application的Context,這裡我們通過方法getApplicationContext()來獲得。

CharSequence text:是指Toast中顯示的內容。

int duration:是指Toast顯示的時間,這裡通過Toast中的兩個常量LENGTH_SHORT和LENGTH_LONG來定義。<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwcmUgY2xhc3M9"brush:java;"> Toast toast = Toast.makeText(getApplication(), 這是一個Toast,Toast.LENGTH_SHORT); //通過show()方法來調用Toast toast.show();

  這裡我們通過一個安檢的監聽事件來觸發Toast,具體代碼不再貼出,看結果:
  
這裡寫圖片描述

Toast的顯示位置是可以修改的,通過如下語句:

toast.setGravity(Gravity.CENTER | Gravity.LEFT, 0, 0);

這裡寫圖片描述

也可以設置富文本:

Spanned spanned = Html.fromHtml(This is a Error!  , new Html.ImageGetter() {
                    @Override
                    public Drawable getDrawable(String s) {
                        Drawable drawable = getResources().getDrawable(R.mipmap.ic_launcher);
                        drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());

                        return drawable;
                    }
                }, null);
                toast1.setText(spanned);

這裡寫圖片描述


自定義Toast

有可能大家會覺得Android自帶的Toast界面不好看,那麼我們可以自定義一個。

1. 定義一個Toast布局.


    
    
    

2.通過構造器創建Toast對象

Toast toast2 = new Toast(getApplicationContext());

3. 通過LayoutInflater獲取布局

LayoutInflater inflater = getLayoutInflater();
View toastView =inflater.inflate(R.layout.my_toast_layout,null);

4. 通過setView方法將布局設置在Toast中

toast2.setView(toastView);

5. 通過setDurationff 設置顯示時長

toast2.setDuration(Toast.LENGTH_SHORT);

6. 通過show方法調用

toast2.show();

這裡寫圖片描述

附錄:

MainA的代碼:

public class MainActivity extends Activity implements OnClickListener {

    private Button mButtonToast;
    private Button mButton2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mButtonToast = (Button) findViewById(R.id.button_toast);
        mButton2 = (Button) findViewById(R.id.button2);
        mButtonToast.setOnClickListener(this);
        mButton2.setOnClickListener(this);
    }


    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.button_toast:
                Toast toast1 = Toast.makeText(getApplicationContext(), 這是一個Toast,Toast.LENGTH_LONG);

                Spanned spanned = Html.fromHtml(This is a Error!  , new Html.ImageGetter() {
                    @Override
                    public Drawable getDrawable(String s) {
                        Drawable drawable = getResources().getDrawable(R.mipmap.ic_launcher);
                        drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());

                        return drawable;
                    }
                }, null);
                toast1.setText(spanned);
                toast1.setGravity(Gravity.CENTER | Gravity.LEFT, 0, 0);
                toast1.show();
                break;
            case R.id.button2:
                Toast toast2 = new Toast(getApplicationContext());
                LayoutInflater inflater = getLayoutInflater();
                View toastView =inflater.inflate(R.layout.my_toast_layout,null);
                toast2.setView(toastView);
                toast2.setDuration(Toast.LENGTH_SHORT);
                toast2.show();
                break;
            default:
                break;
        }
    }
}

 

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