Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android基礎入門教程——2.5.1 Toast(吐司)的基本使用

Android基礎入門教程——2.5.1 Toast(吐司)的基本使用

編輯:關於Android編程

 


本節引言:

好的,終於學習完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(global_context, str, showTime);            
    toast.setGravity(Gravity.CENTER_VERTICAL|Gravity.CENTER_HORIZONTAL , 0, 0);  //設置顯示位置
    TextView v = (TextView) toast.getView().findViewById(android.R.id.message);
    v.setTextColor(Color.YELLOW);     //設置字體顏色
    toast.show();   
}

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


2.通過構造方法來定制Toast:

上面定制了文本,以及顯示位置,下面我們寫兩個簡單的例子:

1.定義一個帶有圖片的Toast

效果圖

title=

關鍵代碼

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

2.Toast完全自定義

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

運行效果圖

title=

關鍵代碼

    private void midToast(String str, int showTime)
    {
        LayoutInflater inflater = getLayoutInflater();
        View view = inflater.inflate(R.layout.view_toast_custom,
                (ViewGroup) findViewById(R.id.lly_toast));
        ImageView img_logo = (ImageView) view.findViewById(R.id.img_logo);
        TextView tv_msg = (TextView) view.findViewById(R.id.tv_msg);
        tv_msg.setText(str);
        Toast toast = new Toast(mContext);
        toast.setGravity(Gravity.CENTER, 0, 0);
        toast.setDuration(Toast.LENGTH_LONG);
        toast.setView(view);
        toast.show();
    }

 

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