基于自定義Toast全面解析
Toast一般用來顯示一行文字,用法比較固定:
Toast.makeText(Context context,String message,int duration);
但是有時候想用toast 來顯示復雜的view甚至是帶有圖片的view時這時候就要用到自定義的Toast,自定義Toast主要用到一下幾個方法如圖:

1.setView()方法用來顯示用戶自定義的view.
2. setGravity()用來確定Toast顯示的位置.
3.setDuration()用來設置Toast顯示的時間長短,只有兩種選擇,LENGTH_SHORT,LENGTH_LONG,都是int型。
4.setText()用來顯示一段文字,但是要注意的時setText()與setView(),不能同時使用不然就會出錯。
下面通過一個完整的代碼來看看如何實現(xiàn)一個自定義的Toast:
Toast_view.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/tianjia_p"
android:layout_gravity="center"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hello world"
android:layout_gravity="center_horizontal"
android:textSize="20dp"
/>
</LinearLayout>
Activity_main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/myButton"
android:text="button"
/>
</LinearLayout>
ToastUtil:
public class ToastUtil {
private static Toast toast;
public static void showToast(int duration,View mview,Context context)
{
if (toast==null) {
toast = new Toast(context);
}
toast.setDuration(duration);
toast.setView(mview);
toast.show();
}
}
MainActivity:
public class MainActivity extends AppCompatActivity {
private View toast_view;
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LayoutInflater inflater=LayoutInflater.from(this);
toast_view =inflater.inflate(R.layout.toast_view,null);
button=(Button)findViewById(R.id.myButton);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ToastUtil.showToast(Toast.LENGTH_SHORT,toast_view,getApplicationContext());
}
});
}
}
上面的ToastUtil工具類 寫的不好,大家可以自己改寫自己的ToastUtil類。
以上這篇基于自定義Toast全面解析就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Android車載空調系統(tǒng)(HVAC)開發(fā)方法分析
HVAC?全稱:供暖通風與空氣調節(jié)(Heating?Ventilation?and?Air?Conditioning),用戶可以通過他來控制整個汽車的空調系統(tǒng),是汽車中非常重要的一個功能,汽車的空調HMI雖然并不復雜,但是大多都是用符號來表示功能,必須理解空調的各個符號表示的含義2023-12-12
Android 出現(xiàn)“Can''t bind to local 8602 for debugger”錯誤的解決方法
這篇文章主要介紹了Android 出現(xiàn)“Can't bind to local 8602 for debugger”錯誤的解決方法的相關資料,需要的朋友可以參考下2017-03-03
Android實現(xiàn)簡易計算器(可以實現(xiàn)連續(xù)計算)
這篇文章主要為大家詳細介紹了Android實現(xiàn)簡易計算器,可以實現(xiàn)連續(xù)計算,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03
如何設置Android studio 3.0顯示光標返回上一次瀏覽位置的箭頭圖標
這篇文章主要介紹了如何設置Android studio 3.0顯示光標返回上一次瀏覽位置的箭頭圖標 很多朋友反映剛升級了Android studio 3.0,發(fā)現(xiàn)光標返回上一次瀏覽位置的箭頭圖標沒有了,下文給大家介紹的非常詳細,需要的朋友可以參考下2017-11-11

