Toast(吐司)的基本使用


本節引言:

好的,終於學習完Adapter類別相關的一些控件,當然除了講解的那幾個,還有其他很多的 相關的控件,就不慢慢講解了~有需要的自行查閱文檔,查看相關的用法,本節帶來的是: Android用來提示訊息的一個控制項-Toast(吐司)! Toast是一種很方便的訊息提示框,會在 螢幕中顯示一個訊息提示框,沒任何按鈕,也不會獲得焦點一段時間過後自動消失! 非常常用!本節我們就來學習Toast的使用!

1.直接呼叫Toast類別的makeText()方法建立

這是我們用的最多的一種形式了!例如點擊一個按鈕,然後彈出Toast,用法: Toast.makeText(MainActivity.this, "提示的內容", Toast.LENGTH_LONG).show();第一個是上下文物件!對二個是顯示的內容!第三個是顯示的時間,只有LONG和SHORT兩種 會生效,即時你定義了其他的值,最後呼叫的還是這兩個!

另外Toast是非常常用的,我們可以把這些公共的部分抽出來,寫到一個方法裡! 要顯示Toast的時候直接呼叫這個方法就可以顯示Toast,這樣方便很多! 範例如下:

void midToast(String str, int showTime)
{
    Toast toast = Toast.makeText . setGravity(Gravity .CENTER_VERTICAL|Gravity.CENTER_HORIZONTAL , 0, 0);  //設定顯示位置
    TextView v = (TextView) toast.getView().findViewView v = (TextView) toast.getView().findViewById.d.R ( Color.YELLOW);     //設定字體顏色
    toast.show();   
}

#

上面這個抽取出來的方法,我們發現我們可以呼叫setGravity設定Toast顯示的位置以及取得 透過findViewById(android.R.id.message)獲得顯示的文本,然後進行設定顏色,或大小等! 這就是第二種透過建構方法來自訂Toast!


2.透過建構方法來客製化Toast:

上面客製了文本,以及顯示位置,下面我們寫兩個簡單的範例:

1.定義一個有圖片的Toast

效果圖

1.png

關鍵程式碼

private void midToast(String str, int showTime)
{
#    Toast toast = Toast.makeText(mContext,  Toast toast = Toast.makeText(mContext, str, str. #    toast.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM , 0, 0);  //設定顯示位置
    Line Color(Color.BLUE);
    ImageView image = new ImageView(this);
    image.setImageResource(R.mipmap.ic_icon_qitao);# View= toast.getView ().findViewById(android.R.id.message);
    v.setTextColor(Color.YELLOW);     //設定字體顏色
  #  toast.show();




#################################################################################################################################################################################################'

2.Toast完全自訂

如果上面的那種還滿足不了你的話,那麼你完全可以自己寫一個Toast的佈局,然後顯示出來; 但是時間我們依舊控制不了!

執行效果圖

2.png

#關鍵程式碼

#private void midToast(String str, int showTime)
{
    LayoutInflater inflater = getLayoutInflater();##  .>        (ViewGroup) findViewById( R.id.lly_toast));
    ImageView img_logo = (ImageView) view.findViewById(R.id.img_logo);
   #    tv_msg.setText(str);
    Toast toast = new Toast(mContext);
    toast.setGravity(Gravity.CENTER, #    toast.setGravity(Gravity.CENTER, #    toast.setGravity(GravENGity.CENTER, #  #    toast.setView(view);
    toast.show();
}

還有自訂Toast的佈局以及圓角背景:

圓角背景:bg_toast.xml

<?xml version= "1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <!--設定透明背景色 -->
    <solid android:color="#BADB66" />
    <!-- 設定一個黑色邊框」 -->##> android:width="1px"
        android:color="#FFFFFF" />
    <!-- 設定為四個圓角的半徑 :bottomLeftRadius="50px"
        android:bottomRightRadius="50px"
        android:topLeftRadius="50px"> #    <!-- 設定邊距,讓空間大一點 -->
    <padding
        android:bottom="5dp"
            android :top="5dp" />
</shape>

#

佈局檔:view_toast_custom.xml


    android:id="@+id/lly_toast"
    android:layout_width="match_parout_ match_parent"
    android:background="../style/images/bg_toast"
    android:orientation="horizo​​​​ntal">
#    +id/img_logo"
        android:layout_width="24dp"
        android:layout_height="24dp  android:src="@mipmap/iv_lol_icon1" />

            android:id="@+id/tv_msg"
        android        android :layout_marginLeft=" 10dp"
        android:textSize="20sp" />

</LinearLayout>


#非常簡單,嘿嘿~



#3 .範例程式碼下載


ToastDemo.zip

##本節小結:

好的,本節給大家講解了Toast的基本使用,以及如何自訂Toast ,非常簡單,大家可以在實際開發中對自己的Toast進行客製化~