-
- Notifications
You must be signed in to change notification settings - Fork 764
Closed
Description
- 系统版本:
- 库版本:v2.1.9
- 问题描述/重现步骤: 关于QuickPop无背景问题。
- 问题代码/截图:
查看#BasePopWindow中设置无背景的代码是这样的逻辑:
public BasePopupWindow setBackground(int drawableIds) { if (drawableIds == 0) { return setBackground(null); } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { return setBackground(getContext().getDrawable(drawableIds)); } else { return setBackground(getContext().getResources().getDrawable(drawableIds)); } } 可以看到设置setBackground(null)最终调用#PopBackgroundView的PopupUtil.isBackgroundInvalidated(mHelper.getPopupBackground()逻辑 即可设置为无背景。
所以我想在QuickPop中也如此使用,但是发现#QuickPop中有以下的逻辑:
if (config.getBackground() != null) { setBackground(config.getBackground()); } 也就是说我通过QuickPopupConfig设置background(null)为实现无背景的方法无效的。我只能拿到#QuickPop去setBackground(null)才可以达到目的。
val pop = QuickPopupBuilder.with(context) .contentView(com.footchat.chat.R.layout.pop_message_long_click) .config(QuickPopupConfig().gravity(Gravity.TOP or Gravity.CENTER_HORIZONTAL) .allowInterceptTouchEvent(false) )).build() pop.setBackground(0) pop.showPopupWindow(tvMessageText) 这样就不是原有的链式结构了。所以希望能统一下,或者
能说明下是什么原有要在#QuickPop加了个非空处理呢?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels