以前一直用的安卓原生Toast,個人感覺Toast這東西,沒必要花功夫,知道看到了Toasty這東西,立刻被圈粉了,真的非常好看。 項目地址 我們都知道,安卓原生Toast的用法是 1 Toast.makeText(MainActivity.this,"Toast顯示內容",Toast.LENGTH ...
- 以前一直用的安卓原生Toast,個人感覺Toast這東西,沒必要花功夫,知道看到了Toasty這東西,立刻被圈粉了,真的非常好看。
- 項目地址
我們都知道,安卓原生Toast的用法是
1 Toast.makeText(MainActivity.this,"Toast顯示內容",Toast.LENGTH_SHORT).show();
方法內由Context、內容、持續時間(LENGTH_SHORT為短時間,2秒。LENGTH_LONG為長時間,3.5秒。也可以用毫秒數代替)構成。而Toasty的實際使用,也跟原生的使用方法基本一致,這就非常舒服了。
首先,我們需要在工程根目錄的build.gradle添加倉庫
1 allprojects { 2 repositories { 3 ... 4 maven { url "https://jitpack.io" } 5 } 6 }
然後,在app目錄下的build.gradle添加依賴
1 dependencies { 2 ... 3 //截止到寫這篇博客時最新版為1.4.2 4 implementation 'com.github.GrenderG:Toasty:1.4.2' 5 }
完成了以上的準備工作,現在就可以使用了
錯誤Toast
1 Toasty.error(MainActivity.this, "This is an error toast.", Toast.LENGTH_SHORT, true).show();
成功Toast
1 Toasty.success(MainActivity.this, "This is a success toast.", Toast.LENGTH_SHORT, true).show();
提示Toast
1 Toasty.info(MainActivity.this, "This is an info toast.", Toast.LENGTH_SHORT, true).show();
警告Toast
1 Toasty.warning(MainActivity.this, "This is a warning toast.", Toast.LENGTH_SHORT, true).show();
原生Toast
當然,也有修改後的原生Toast,滿足你的不同需求
1 Toasty.normal(MainActivity.this, "Normal toast.").show();
帶圖片的原生Toast
1 Toasty.normal(MainActivity.this, "Normal toast.", IconDrawable).show(); 2 //IconDrawable是你需要放入的圖片,可以用getDrawable實現。以軟體圖標當Toast圖片為例,則用法為: 3 Toasty.normal(MainActivity.this, "Normal toast.", getDrawable(R.drawable.ic_launcher)).show();
自定義Toast
當然肯定少不了自定義Toast
1 //官方的介紹是: 2 Toasty.custom(yourContext, "I'm a custom Toast", yourIconDrawable, tintColor, duration, withIcon, shouldTint).show();
但在實際使用時,則需要自己補全步驟
圖片仍然用getDrawable,而顏色可以直接使用安卓定義的Color.BLUE、Color.RED等分別設置背景顏色和文本顏色,用法如下:
1 Toasty.custom(MainActivity.this, "I'm a custom Toast", getDrawable(R.drawable.ic_launcher),Color.BLUE,Color.RED, Toast.LENGTH_SHORT, true,true).show();
然而,實際中更需要的當然是自定義顏色。這可以用類似的getColor實現:
1.在/res/valus目錄下的colors.xml中設置顏色值
1 <resources> 2 <color name="color1">#BBDEFB</color> 3 <color name="color2">#ffffff</color> 4 </resources>
2.使用getColor引用color1和color2
1 Toasty.custom(MainActivity.this, "I'm a custom Toast", getDrawable(R.drawable.ic_launcher),getColor(R.color.color1),getColor(R.color.color2), Toast.LENGTH_SHORT, true,true).show();
統一配置
Toasty支持統一配置內容,但是我目前並沒有去研究,感興趣的人可以去原項目中查看readme和源碼來學習使用。