1
0
kongzue 3 жил өмнө
parent
commit
b6b5a1abd8

+ 3 - 0
.idea/misc.xml

@@ -40,6 +40,7 @@
         <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXIOSStyle/src/main/res/layout/item_dialogx_ios_bottom_menu_top_dark.xml" value="0.33229166666666665" />
         <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXIOSStyle/src/main/res/layout/layout_dialogx_bottom_ios.xml" value="0.5328205128205128" />
         <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXIOSStyle/src/main/res/layout/layout_dialogx_bottom_ios_dark.xml" value="0.5328205128205128" />
+        <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXIOSStyle/src/main/res/layout/layout_dialogx_ios.xml" value="0.5328205128205128" />
         <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXMIUIStyle/src/main/res/drawable/button_dialogx_miui_blue.xml" value="0.5487179487179488" />
         <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXMIUIStyle/src/main/res/drawable/button_dialogx_miui_center_light.xml" value="0.5487179487179488" />
         <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXMIUIStyle/src/main/res/drawable/button_dialogx_miui_center_night.xml" value="0.5487179487179488" />
@@ -62,6 +63,8 @@
         <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXMIUIStyle/src/main/res/layout/item_dialogx_miui_bottom_menu_center_light.xml" value="0.5411458333333333" />
         <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXMIUIStyle/src/main/res/layout/item_dialogx_miui_bottom_menu_top_dark.xml" value="0.5411458333333333" />
         <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXMIUIStyle/src/main/res/layout/item_dialogx_miui_bottom_menu_top_light.xml" value="0.5411458333333333" />
+        <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXMIUIStyle/src/main/res/layout/layout_dialogx_bottom_miui.xml" value="0.5328205128205128" />
+        <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXMIUIStyle/src/main/res/layout/layout_dialogx_bottom_miui_dark.xml" value="0.5328205128205128" />
         <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXMIUIStyle/src/main/res/layout/layout_dialogx_miui.xml" value="0.5411458333333333" />
         <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXMIUIStyle/src/main/res/layout/layout_dialogx_miui_dark.xml" value="0.5411458333333333" />
         <entry key="..\:/WorkSpace/Android/DialogXDemo/DialogXMaterialYou/src/main/res/drawable-v21/button_dialogx_material_you_light.xml" value="0.5487179487179488" />

+ 1 - 0
DialogX/src/main/java/com/kongzue/dialogx/dialogs/MessageDialog.java

@@ -470,6 +470,7 @@ public class MessageDialog extends BaseDialog {
             bkg.setMaxWidth(getMaxWidth());
             if (me instanceof InputDialog) {
                 txtInput.setVisibility(View.VISIBLE);
+                boxRoot.bindFocusView(txtInput);
             } else {
                 txtInput.setVisibility(View.GONE);
             }

+ 2 - 1
DialogX/src/main/java/com/kongzue/dialogx/dialogs/PopTip.java

@@ -42,6 +42,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Timer;
 import java.util.TimerTask;
+import java.util.concurrent.CopyOnWriteArrayList;
 
 /**
  * @author: Kongzue
@@ -629,7 +630,7 @@ public class PopTip extends BaseDialog {
                     return;
                 }
             }
-            for (PopTip popTip : popTipList) {
+            for (PopTip popTip : new CopyOnWriteArrayList<>(popTipList)) {
                 dismiss(popTip.dialogView);
             }
         }

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

@@ -19,6 +19,7 @@ import android.view.ViewParent;
 import android.view.ViewTreeObserver;
 import android.view.WindowInsets;
 import android.view.inputmethod.InputMethodManager;
+import android.widget.EditText;
 import android.widget.RelativeLayout;
 
 import androidx.core.view.ViewCompat;
@@ -29,6 +30,8 @@ import com.kongzue.dialogx.interfaces.BaseDialog;
 import com.kongzue.dialogx.interfaces.OnBackPressedListener;
 import com.kongzue.dialogx.interfaces.OnSafeInsetsChangeListener;
 
+import java.lang.ref.WeakReference;
+
 /**
  * @author: Kongzue
  * @github: https://github.com/kongzue/
@@ -61,11 +64,6 @@ public class DialogXBaseRelativeLayout extends RelativeLayout {
         init(attrs);
     }
     
-    public DialogXBaseRelativeLayout(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
-        super(context, attrs, defStyleAttr, defStyleRes);
-        init(attrs);
-    }
-    
     private boolean isInited = false;
     
     private void init(AttributeSet attrs) {
@@ -138,12 +136,12 @@ public class DialogXBaseRelativeLayout extends RelativeLayout {
             if (parent instanceof View)
                 ViewCompat.setFitsSystemWindows(this, ViewCompat.getFitsSystemWindows((View) parent));
             ViewCompat.requestApplyInsets(this);
-    
+            
             if (BaseDialog.getContext() == null) return;
             
             ((Activity) BaseDialog.getContext()).getWindow().getDecorView().getViewTreeObserver().addOnGlobalLayoutListener(decorViewLayoutListener);
-    
-    
+            
+            
             if (onLifecycleCallBack != null) {
                 onLifecycleCallBack.onShow();
             }
@@ -200,6 +198,20 @@ public class DialogXBaseRelativeLayout extends RelativeLayout {
         return getMeasuredHeight() - unsafePlace.bottom - unsafePlace.top;
     }
     
+    private WeakReference<View> requestFocusView;
+    
+    public void bindFocusView(View view) {
+        requestFocusView = new WeakReference<>(view);
+    }
+    
+    @Override
+    public boolean requestFocus(int direction, Rect previouslyFocusedRect) {
+        if (direction == View.FOCUS_DOWN && requestFocusView != null && requestFocusView.get() != null) {
+            return requestFocusView.get().requestFocus();
+        }
+        return super.requestFocus(direction, previouslyFocusedRect);
+    }
+    
     public abstract static class OnLifecycleCallBack {
         public void onShow() {
         }

+ 3 - 4
DialogXMIUIStyle/src/main/res/layout/layout_dialogx_bottom_miui.xml

@@ -24,8 +24,7 @@
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:clickable="true"
-                android:orientation="vertical"
-                android:paddingTop="20dp">
+                android:orientation="vertical">
 
                 <TextView
                     android:id="@+id/txt_dialog_title"
@@ -34,9 +33,8 @@
                     android:layout_gravity="center_horizontal"
                     android:gravity="center"
                     android:paddingLeft="20dp"
-                    android:paddingTop="7dp"
+                    android:paddingTop="27dp"
                     android:paddingRight="20dp"
-                    android:paddingBottom="10dp"
                     android:text="Title"
                     android:textColor="@color/black"
                     android:textSize="18dp" />
@@ -63,6 +61,7 @@
                             android:layout_gravity="center_horizontal"
                             android:layout_marginLeft="26dp"
                             android:layout_marginRight="26dp"
+                            android:layout_marginTop="10dp"
                             android:gravity="left"
                             android:paddingBottom="5dp"
                             android:text="This is content text."

+ 3 - 4
DialogXMIUIStyle/src/main/res/layout/layout_dialogx_bottom_miui_dark.xml

@@ -24,8 +24,7 @@
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:clickable="true"
-                android:orientation="vertical"
-                android:paddingTop="20dp">
+                android:orientation="vertical">
 
                 <TextView
                     android:id="@+id/txt_dialog_title"
@@ -34,9 +33,8 @@
                     android:layout_gravity="center_horizontal"
                     android:gravity="center"
                     android:paddingLeft="20dp"
-                    android:paddingTop="7dp"
+                    android:paddingTop="27dp"
                     android:paddingRight="20dp"
-                    android:paddingBottom="10dp"
                     android:text="Title"
                     android:textColor="@color/dialogxMIUITextDark"
                     android:textSize="18dp" />
@@ -61,6 +59,7 @@
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:layout_gravity="center_horizontal"
+                            android:layout_marginTop="10dp"
                             android:layout_marginLeft="26dp"
                             android:layout_marginRight="26dp"
                             android:gravity="left"

BIN
app/release/app-release.apk


+ 1 - 1
app/release/output-metadata.json

@@ -11,7 +11,7 @@
       "type": "SINGLE",
       "filters": [],
       "versionCode": 42,
-      "versionName": "0.0.43.beta5",
+      "versionName": "0.0.43.beta19",
       "outputFile": "app-release.apk"
     }
   ]

+ 3 - 2
app/src/main/java/com/kongzue/dialogxdemo/activity/MainActivity.java

@@ -602,7 +602,8 @@ public class MainActivity extends BaseActivity {
                                     .setOnMenuItemClickListener(new OnMenuItemClickListener<BottomMenu>() {
                                         @Override
                                         public boolean onClick(BottomMenu dialog, CharSequence text, int index) {
-                                            PopTip.show(text);
+                                            //PopTip.show(text);
+                                            btnInputDialog.callOnClick();
                                             return false;
                                         }
                                     })
@@ -700,7 +701,7 @@ public class MainActivity extends BaseActivity {
         btnShowBreak.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                jump(AppCompatActivityTest.class, new JumpParameter().put("showBreak", true).put("fromActivity", getInstanceKey()));
+                jump(MainActivity.class, new JumpParameter().put("showBreak", true).put("fromActivity", getInstanceKey()));
             }
         });
         

+ 2 - 2
gradle.properties

@@ -18,5 +18,5 @@ android.useAndroidX=true
 # Automatically convert third-party libraries to use AndroidX
 android.enableJetifier=true
 
-BUILD_VERSION=0.0.43.beta19
-BUILD_VERSION_INT=42
+BUILD_VERSION=0.0.43
+BUILD_VERSION_INT=43