Closed fly263 closed 1 year ago
建议增加一个是否支持深色模式的选项,在深色模式下显示灰色背景
这个只能你自己判断了,如果深色模式,初始化的时候设置白色的背景,如果不是则设置黑色的背景,框架目前没有引入 Support 库,没有办法做这个判断,就算做也不值得为了这么个小点引入 Support 库,还用换肤的框架不止 Support 库一套方案,框架没有办法把全部场景兼容到位。
建议可以配置Toast的边距和圆角大小,现在只能重写getBackgroundDrawable、getHorizontalPadding、getVerticalPadding这三个方法
小伙子,Toast 边距可以重写 getXOffset 和 getYOffset 方法来解决,而圆角大小属于 View 背景,框架不会干涉,你要是看着圆角大小不顺眼,可以自己重写 getBackgroundDrawable 返回新的 Drawable 对象,框架目前暂时不会考虑开放设置圆角大小的 API 出去,因为这样会让别人误以为这个是设置 Toast 的背景,但是实际这个是设置 View 的背景。
感谢回复!
1、换肤和深色模式还是有区别的,深色模式是系统提供的功能,我查了一下资料,Application中监听深色模式变化貌似实现不了,只能在Activity中监听。虽然App也能实现监听,如果能提供一个切换开关更方便。下面这样就可以判断是否为深色模式
// 获取当前的uiMode
int uiMode = getResources().getConfiguration().uiMode;
// 判断当前的uiMode是否为黑暗模式
if ((uiMode & Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES) {
Toaster.setStyle(new WhiteToastStyle());
} else {
Toaster.setStyle(new BlackToastStyle());
}
2、其实我想修改的是内边距,所以重写了getHorizontalPadding()、getVerticalPadding(),框架的内边距感觉有点大
你觉得框架有什么不足之处?【必答】
1、建议增加一个是否支持深色模式的选项,在深色模式下显示灰色背景 2、建议可以配置Toast的边距和圆角大小,现在只能重写getBackgroundDrawable、getHorizontalPadding、getVerticalPadding这三个方法
issue 是否有人曾提过类似的建议?【必答】
否
框架文档是否提及了该问题【必答】
否
是否已经查阅框架文档但还未能解决的【必答】
是
你觉得该怎么去完善会比较好?【非必答】
No response