From ae8a820a645d77a5c1ad98e7985bf739f620c9da Mon Sep 17 00:00:00 2001 From: jessyan Date: Sat, 22 Oct 2016 15:38:15 +0800 Subject: [PATCH] customeListener improve --- .../com/jess/arms/widget/CustomPopupWindow.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/arms/src/main/java/com/jess/arms/widget/CustomPopupWindow.java b/arms/src/main/java/com/jess/arms/widget/CustomPopupWindow.java index ba27cb0..2ccbaa9 100644 --- a/arms/src/main/java/com/jess/arms/widget/CustomPopupWindow.java +++ b/arms/src/main/java/com/jess/arms/widget/CustomPopupWindow.java @@ -18,6 +18,7 @@ public class CustomPopupWindow extends PopupWindow { private boolean isFocus; private Drawable mBackgroundDrawable; private int mAnimationStyle; + private boolean isWrap; private CustomPopupWindow(Builder builder) { this.mContentView = builder.contentView; @@ -27,6 +28,7 @@ public class CustomPopupWindow extends PopupWindow { this.isFocus = builder.isFocus; this.mBackgroundDrawable = builder.backgroundDrawable; this.mAnimationStyle = builder.animationStyle; + this.isWrap = builder.isWrap; initLayout(); } @@ -36,8 +38,8 @@ public class CustomPopupWindow extends PopupWindow { private void initLayout() { mListener.initPopupView(mContentView); - setWidth(LayoutParams.MATCH_PARENT); - setHeight(LayoutParams.MATCH_PARENT); + setWidth(isWrap ? LayoutParams.WRAP_CONTENT : LayoutParams.MATCH_PARENT); + setHeight(isWrap ? LayoutParams.WRAP_CONTENT : LayoutParams.MATCH_PARENT); setFocusable(isFocus); setOutsideTouchable(isOutsideTouch); setBackgroundDrawable(mBackgroundDrawable); @@ -83,6 +85,7 @@ public class CustomPopupWindow extends PopupWindow { private boolean isFocus = true;//默认为true private Drawable backgroundDrawable = new ColorDrawable(0x00000000);//默认为透明 private int animationStyle = -1; + private boolean isWrap; private Builder() { } @@ -97,6 +100,12 @@ public class CustomPopupWindow extends PopupWindow { return this; } + public Builder isWrap(boolean isWrap) { + this.isWrap = isWrap; + return this; + } + + public Builder customListener(CustomPopupWindowListener listener) { this.listener = listener; return this; -- GitLab