getActivity / Toaster

Android 吐司框架,专治 Toast 各种疑难杂症
Apache License 2.0
3.25k stars 406 forks source link

ToastUtils.setGravity() 会永久改变Toast显示位置 #78

Closed lijunhuayc closed 3 years ago

lijunhuayc commented 3 years ago

问题: 1.ToastUtils.setGravity()会永久改变吐司显示的位置,不同场景显示需求不同的时候很不方便,特别是全局统一替换框架时,有少部分需要指定显示位置调用了此设置,然后其他大部分默认调用处不得不专门封装一层接口来恢复为其他位置显示。 2.另外吐司显示时间无法指定长显示还是短显示。

优化建议: 1.遵循原生Toast链式调用方式,用户调用了ToastUtils.setGravity则使用指定位置显示,否则统一使用默认位置显示(而不是使用最后一次调用ToastUtils.setGravity设置的位置来显示)。 2.添加支持定制显示时间长短的接口。

getActivity commented 3 years ago
// 将 ToastUtils 中的 View 转移给 XToast 来显示
new XToast<>(this)
        .setDuration(1000)
        .setContentView(ToastUtils.getStyle().createView(this))
        .setAnimStyle(android.R.style.Animation_Translucent)
        .setText(android.R.id.message, "就问你溜不溜")
        .setGravity(Gravity.BOTTOM)
        .setYOffset(100)
        .show();