一般我們提示的時候都是直接提示文字的,其實Toast也可以顯示圖片 方法 例子 1.只顯示圖片的Toast 2.顯示圖片和文字 ...
一般我們提示的時候都是直接提示文字的,其實Toast也可以顯示圖片
常用方法
- Toast.makeText(context,text,duration)這返回一個Toast對象
- toast.setDureation(duration)設置持續時間
- toast.setGravity(gravity,xOffest,yOffset)設置Toast的位置
- toast.setText(s);設置內容
- toast.show()顯示內容
- toast.setView(View v)
例子
1.只顯示圖片的Toast
public void showToast(){
//獲取一個Toast對象,為下麵自定義做準備
Toast toast = new Toast(this);
ImageView img = new ImageView(this);
//用系統提供的圖片
img.setImageResource(R.drawable.ic_launcher);
//設置圖片
toast.setView(img);
toast.show();
}
最後給一個按鈕設定一個監聽器,在onClick方法中調用對應的showToast方法就可以了。(下麵兩個例子同樣省略這一步)
2.顯示圖片和文字
public void showTost2(){
Toast toast = Toast.makeText(this, "這是一個有圖片的吐司", Toast.LENGTH_LONG);
ImageView img = new ImageView(this);
img.setImageResource(R.drawable.ic_launcher);
//得到toast的佈局對象
LinearLayout toast_layout = (LinearLayout) toast.getView();
//為toast添加圖片資源,第二個參數,0表示圖片在上
toast_layout.addView(img,1);
toast.show();
}
3.設計自己的Toast
有時候上面兩種還沒能滿足自己的要求,就可以自定義佈局(我在drawable中放了兩張圖片,詹姆斯和庫里的)
準備佈局文件
準備好你想要展示的Toast佈局文件,我在layout文件夾新建了一個toast.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<ImageView
android:layout_width="50dp"
android:layout_height="90dp"
android:background="@drawable/c2"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="90dp"
android:gravity="center"
android:text="VS"
/>
<ImageView
android:layout_width="50dp"
android:layout_height="90dp"
android:background="@drawable/c1"
/>
</LinearLayout>
載入你的佈局到Toast對象
public void showMyTosat(){
//把一個佈局變成一個View對象
LayoutInflater inflater = LayoutInflater.from(this);
View toast_layout = inflater.inflate(R.layout.toast, null);
//設定
Toast toast = new Toast(this);
toast.setView(toast_layout);
toast.show();
}