Forráskód Böngészése

0.0.49.beta6 ready
- 对 BottomMenu 的 setOkButton、setCancelButton、setOtherButton 提供了单独的 OnBottomMenuButtonClickListener 参数接口,可直接提供 BottomMenu 参数的 onClick 回调事件;
- BottomDialog/BottomMenu 新增 set/get OkTextInfo 和 OtherTextInfo 方法;
- 修复 DialogXBaseRelativeLayout 可能存在的嵌套循环调用 requestFocus() 方法的问题;

0.0.49.beta5 ready
- ActivityScreenShotImageView 增加静态方法 useHardwareRenderingMode,开启可使用硬件加速渲染模式;
- 修复部分系统下 ActivityScreenShotImageView 在执行回收时触发的“Software rendering doesn't support hardware bitmaps.”异常;
- 其他问题修复;

0.0.49.beta4 ready
- 修复部分系统下 BlurRelativeLayout 或 BlurRelativeLayout 在执行回收时触发的“Calling RS with no Context active.”异常;
- ActivityScreenShotImageView 截图方案更新;

0.0.49.beta4 ready
- 修复在部分设备上由 DialogXBaseRelativeLayout 引发的 StackOverflowError,此问题猜测跟特定版本系统固件存在问题有关;

0.0.49.beta3
- 修复 ActivityScreenShotImageView 可能引发的“Software rendering doesn’t support hardware bitmaps” 异常;
- 修复 BottomDialog/FullScreenDialog 的滑动事件在内部存在 ScrollController 时,若触摸位置处于 ScrollController 布局外无法滑动对话框的问题;

0.0.49.beta2
- InputInfo新增方法:`getInputFilters()`、`setInputFilters(InputFilter[] inputFilters)`、`addInputFilter(InputFilter inputFilter)` 和 `removeInputFilter(InputFilter inputFilter)`(issues:332);
- 尝试性修复 DialogFragment 模式实现下的 WaitDialog 内存泄漏问题(issues:334);
- 修复关于DialogFragmentImpl引发的空指针问题此问题(issues:335);

0.0.49.beta1
- 修复 BlurRelativeLayout 和 BlurLinearLayout 在 iOS 主题下使用 DialogFragment 模式时存在的渲染宽度和高度 <=0 导致的异常(issues:324);
- 修复 IOS 主题下可能存在的 `RSInvalidStateException: Calling RS with no Context active` 异常问题(issues:327);
- 修复可能存在的高频启关对话框过程中,因UI未完成构建被关闭引发的空指针异常(issues:331);

Kongzue 1 éve
szülő
commit
a99cb76fcc

+ 18 - 0
DialogX/src/main/java/com/kongzue/dialogx/dialogs/BottomDialog.java

@@ -975,6 +975,24 @@ public class BottomDialog extends BaseDialog implements DialogXBaseBottomDialog
         return this;
     }
 
+    public TextInfo getOkTextInfo() {
+        return okTextInfo;
+    }
+
+    public BottomDialog setOkTextInfo(TextInfo okTextInfo) {
+        this.okTextInfo = okTextInfo;
+        return this;
+    }
+
+    public TextInfo getOtherTextInfo() {
+        return otherTextInfo;
+    }
+
+    public BottomDialog setOtherTextInfo(TextInfo otherTextInfo) {
+        this.otherTextInfo = otherTextInfo;
+        return this;
+    }
+
     public int getBackgroundColor() {
         return backgroundColor;
     }

+ 18 - 0
DialogX/src/main/java/com/kongzue/dialogx/dialogs/BottomMenu.java

@@ -1341,4 +1341,22 @@ public class BottomMenu extends BottomDialog {
         this.menuMenuItemLayoutRefreshCallback = menuMenuItemLayoutRefreshCallback;
         return this;
     }
+
+    public TextInfo getOkTextInfo() {
+        return okTextInfo;
+    }
+
+    public BottomMenu setOkTextInfo(TextInfo okTextInfo) {
+        this.okTextInfo = okTextInfo;
+        return this;
+    }
+
+    public TextInfo getOtherTextInfo() {
+        return otherTextInfo;
+    }
+
+    public BottomMenu setOtherTextInfo(TextInfo otherTextInfo) {
+        this.otherTextInfo = otherTextInfo;
+        return this;
+    }
 }

+ 0 - 1
DialogX/src/main/java/com/kongzue/dialogx/util/views/BottomDialogScrollView.java

@@ -66,7 +66,6 @@ public class BottomDialogScrollView extends ScrollView implements ScrollControll
         return super.onTouchEvent(ev);
     }
     
-    
     @Override
     public boolean dispatchTouchEvent(MotionEvent ev) {
         return super.dispatchTouchEvent(ev);

+ 8 - 4
DialogX/src/main/java/com/kongzue/dialogx/util/views/DialogXBaseRelativeLayout.java

@@ -95,7 +95,6 @@ public class DialogXBaseRelativeLayout extends RelativeLayout {
             if (focusable) {
                 setFocusable(true);
                 setFocusableInTouchMode(true);
-                requestFocus();
             }
             setBkgAlpha(0f);
             if (getParentDialog() != null && getParentDialog().getDialogImplMode() != DialogX.IMPL_MODE.VIEW) {
@@ -218,6 +217,9 @@ public class DialogXBaseRelativeLayout extends RelativeLayout {
                 onLifecycleCallBack.onShow();
             }
             isLightMode = (getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_NO;
+            if (focusable) {
+                requestFocus();
+            }
         }
     }
 
@@ -260,7 +262,7 @@ public class DialogXBaseRelativeLayout extends RelativeLayout {
                     }
                 });
                 useWindowInsetsAnimation = true;
-            }catch (Exception e){
+            } catch (Exception e) {
             }
         }
     }
@@ -324,7 +326,9 @@ public class DialogXBaseRelativeLayout extends RelativeLayout {
     private WeakReference<View> requestFocusView;
 
     public void bindFocusView(View view) {
-        requestFocusView = new WeakReference<>(view);
+        if (view != this) {
+            requestFocusView = new WeakReference<>(view);
+        }
     }
 
     @Override
@@ -335,7 +339,7 @@ public class DialogXBaseRelativeLayout extends RelativeLayout {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
             initDynamicSafeAreaListener();
         }
-        if (direction == View.FOCUS_DOWN && requestFocusView != null && requestFocusView.get() != null) {
+        if (direction == View.FOCUS_DOWN && requestFocusView != null && requestFocusView.get() != null && requestFocusView.get() != this) {
             return requestFocusView.get().requestFocus();
         }
         View findFocusView = findFocus();