kongzue 2 éve
szülő
commit
d0b4e104f2

+ 108 - 94
app/src/main/java/com/kongzue/dialogxdemo/activity/MainActivity.java

@@ -19,6 +19,7 @@ import android.view.Gravity;
 import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.WindowInsets;
 import android.view.WindowManager;
 import android.view.animation.Animation;
 import android.view.animation.AnimationUtils;
@@ -101,8 +102,8 @@ import java.util.Random;
 @DarkNavigationBarTheme(true)
 @NavigationBarBackgroundColorRes(R.color.emptyNavBar)
 public class MainActivity extends BaseActivity {
-    
-    private ConstraintLayout boxTable;
+
+    private ConstraintLayout boxTitle;
     private TextView txtTitle;
     private ImageView btnShare;
     private ImageView splitBody;
@@ -161,10 +162,10 @@ public class MainActivity extends BaseActivity {
     private MaterialButton btnShowBreak;
     private MaterialButton btnListDialog;
     private TextView txtVer;
-    
+
     @Override
     public void initViews() {
-        boxTable = findViewById(R.id.box_table);
+        boxTitle = findViewById(R.id.box_title);
         txtTitle = findViewById(R.id.txt_title);
         btnShare = findViewById(R.id.btn_share);
         splitBody = findViewById(R.id.split_body);
@@ -224,11 +225,24 @@ public class MainActivity extends BaseActivity {
         btnListDialog = findViewById(R.id.btn_listDialog);
         txtVer = findViewById(R.id.txt_ver);
     }
-    
+
     @Override
     public void initDatas(JumpParameter parameter) {
         getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
-        
+
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
+            getWindow().getDecorView().setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener() {
+                @Override
+                public WindowInsets onApplyWindowInsets(View v, WindowInsets insets) {
+                    boxTitle.setPadding(0, insets.getSystemWindowInsetTop(), 0, 0);
+                    boxBody.setPadding(dip2px(15), dip2px(15), dip2px(15), insets.getSystemWindowInsetBottom()+dip2px(250));
+                    return insets;
+                }
+            });
+        } else {
+            getRootView().setFitsSystemWindows(true);
+        }
+
         refreshUIMode();
         boolean showBreak = parameter.getBoolean("showBreak");
         if (showBreak) {
@@ -258,7 +272,7 @@ public class MainActivity extends BaseActivity {
                     })
                     .setCancelable(false);
         }
-        
+
         switch (DialogX.implIMPLMode) {
             case VIEW:
                 rdoModeView.setChecked(true);
@@ -273,18 +287,18 @@ public class MainActivity extends BaseActivity {
                 rdoModeFloatingActivity.setChecked(true);
                 break;
         }
-        
+
         txtVer.setText("当前版本:" + BuildConfig.VERSION_NAME);
     }
-    
+
     //用于模拟进度提示
     private CycleRunner cycleRunner;
     private float progress = 0;
     private int waitId;
-    
+
     private TextView btnReplyCommit;
     private EditText editReplyCommit;
-    
+
     private TextView btnCancel;
     private TextView btnSubmit;
     private RelativeLayout boxUserName;
@@ -292,17 +306,17 @@ public class MainActivity extends BaseActivity {
     private RelativeLayout boxPassword;
     private EditText editPassword;
     private TextView btnLicense;
-    
+
     private TextView btnClose;
     private WebView webView;
-    
+
     private String[] singleSelectMenuText = new String[]{"拒绝", "询问", "始终允许", "仅在使用中允许"};
     private int selectMenuIndex;
-    
+
     private String[] multiSelectMenuText = new String[]{"上海", "北京", "广州", "深圳"};
     private int[] selectMenuIndexArray;
     private String multiSelectMenuResultCache;
-    
+
     @Override
     public void setEvents() {
         grpMode.addOnButtonCheckedListener(new MaterialButtonToggleGroup.OnButtonCheckedListener() {
@@ -325,7 +339,7 @@ public class MainActivity extends BaseActivity {
                 }
             }
         });
-        
+
         grpTheme.addOnButtonCheckedListener(new MaterialButtonToggleGroup.OnButtonCheckedListener() {
             @Override
             public void onButtonChecked(MaterialButtonToggleGroup group, int checkedId, boolean isChecked) {
@@ -342,7 +356,7 @@ public class MainActivity extends BaseActivity {
                 }
             }
         });
-        
+
         grpStyle.addOnButtonCheckedListener(new MaterialButtonToggleGroup.OnButtonCheckedListener() {
             @Override
             public void onButtonChecked(MaterialButtonToggleGroup group, int checkedId, boolean isChecked) {
@@ -369,14 +383,14 @@ public class MainActivity extends BaseActivity {
                 }
             }
         });
-        
+
         btnShare.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 openUrl("https://github.com/kongzue/DialogX");
             }
         });
-        
+
         btnContextMenu.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -410,7 +424,7 @@ public class MainActivity extends BaseActivity {
                         });
             }
         });
-        
+
         btnSelectMenu.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
@@ -424,7 +438,7 @@ public class MainActivity extends BaseActivity {
                         });
             }
         });
-        
+
         btnFullScreenDialogFragment.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -438,12 +452,12 @@ public class MainActivity extends BaseActivity {
                 FullScreenDialog.show(new OnBindView<FullScreenDialog>(customFragment) {
                     @Override
                     public void onBind(FullScreenDialog dialog, View v) {
-                    
+
                     }
                 });
             }
         });
-        
+
         btnMessageDialog.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
@@ -458,7 +472,7 @@ public class MainActivity extends BaseActivity {
                         });
             }
         });
-        
+
         btnSelectDialog.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -470,7 +484,7 @@ public class MainActivity extends BaseActivity {
                 messageDialog.show();
             }
         });
-        
+
         btnInputDialog.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
@@ -486,7 +500,7 @@ public class MainActivity extends BaseActivity {
                         .show();
             }
         });
-        
+
         btnWaitDialog.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -505,11 +519,11 @@ public class MainActivity extends BaseActivity {
                 }, 1500);
             }
         });
-        
+
         btnWaitAndTipDialog.setOnClickListener(new View.OnClickListener() {
-            
+
             boolean closeFlag = false;
-            
+
             @Override
             public void onClick(View v) {
                 closeFlag = false;
@@ -535,28 +549,28 @@ public class MainActivity extends BaseActivity {
                 }, 1500 + new Random().nextInt(1000));
             }
         });
-        
+
         btnTipSuccess.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 TipDialog.show("Success!", WaitDialog.TYPE.SUCCESS);
             }
         });
-        
+
         btnTipWarning.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 TipDialog.show("Warning!", WaitDialog.TYPE.WARNING);
             }
         });
-        
+
         btnTipError.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 TipDialog.show("Error!", WaitDialog.TYPE.ERROR);
             }
         });
-        
+
         btnTipProgress.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -602,7 +616,7 @@ public class MainActivity extends BaseActivity {
                 }, 3000);
             }
         });
-        
+
         btnBottomDialog.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -629,17 +643,17 @@ public class MainActivity extends BaseActivity {
                                 log("#onSlideClose");
                                 return super.onSlideClose(dialog);
                             }
-    
+
                             @Override
                             public boolean onSlideTouchEvent(BottomDialog dialog, View v, MotionEvent event) {
-                                log("#onSlideTouchEvent: action="+ event.getAction() + " y="+event.getY());
+                                log("#onSlideTouchEvent: action=" + event.getAction() + " y=" + event.getY());
                                 return super.onSlideTouchEvent(dialog, v, event);
                             }
                         })
                         .show();
             }
         });
-        
+
         btnBottomMenu.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -714,7 +728,7 @@ public class MainActivity extends BaseActivity {
                 }
             }
         });
-        
+
         btnBottomReply.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -740,7 +754,7 @@ public class MainActivity extends BaseActivity {
                 }).setAllowInterceptTouch(false);
             }
         });
-        
+
         btnCustomMessageDialog.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -748,12 +762,12 @@ public class MainActivity extends BaseActivity {
                         .setCustomView(new OnBindView<MessageDialog>(R.layout.layout_custom_view) {
                             @Override
                             public void onBind(MessageDialog dialog, View v) {
-                            
+
                             }
                         });
             }
         });
-        
+
         btnCustomInputDialog.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -761,12 +775,12 @@ public class MainActivity extends BaseActivity {
                         .setCustomView(new OnBindView<MessageDialog>(R.layout.layout_custom_view) {
                             @Override
                             public void onBind(MessageDialog dialog, View v) {
-                            
+
                             }
                         });
             }
         });
-        
+
         btnCustomBottomMenu.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -782,19 +796,19 @@ public class MainActivity extends BaseActivity {
                         .setCustomView(new OnBindView<BottomDialog>(R.layout.layout_custom_view) {
                             @Override
                             public void onBind(BottomDialog dialog, View v) {
-                            
+
                             }
                         });
             }
         });
-        
+
         btnShowGuide.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 GuideDialog.show(R.mipmap.img_guide_tip);
             }
         });
-        
+
         btnShowGuideBaseView.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -802,7 +816,7 @@ public class MainActivity extends BaseActivity {
                         .setBaseViewMarginTop(-dip2px(30));
             }
         });
-        
+
         btnShowGuideBaseViewRectangle.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -828,14 +842,14 @@ public class MainActivity extends BaseActivity {
                         });
             }
         });
-        
+
         btnShowBreak.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 jump(MainActivity.class, new JumpParameter().put("showBreak", true).put("fromActivity", getInstanceKey()));
             }
         });
-        
+
         btnListDialog.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -868,15 +882,15 @@ public class MainActivity extends BaseActivity {
                 );
             }
         });
-        
+
         btnFullScreenDialogLogin.setOnClickListener(new View.OnClickListener() {
-            
+
             /**
              * 采用异步加载布局防止卡顿测试
              */
-            
+
             OnBindView<FullScreenDialog> onBindView;
-            
+
             @Override
             public void onClick(View v) {
                 onBindView = new OnBindView<FullScreenDialog>(R.layout.layout_full_login, true) {
@@ -889,14 +903,14 @@ public class MainActivity extends BaseActivity {
                         boxPassword = v.findViewById(R.id.box_password);
                         editPassword = v.findViewById(R.id.edit_password);
                         btnLicense = v.findViewById(R.id.btn_license);
-                        
+
                         initFullScreenLoginDemo(dialog);
                     }
                 };
                 FullScreenDialog.show(onBindView);
             }
         });
-        
+
         btnFullScreenDialogWebPage.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -905,14 +919,14 @@ public class MainActivity extends BaseActivity {
                             public void onBind(final FullScreenDialog dialog, View v) {
                                 btnClose = v.findViewById(R.id.btn_close);
                                 webView = v.findViewById(R.id.webView);
-                                
+
                                 btnClose.setOnClickListener(new View.OnClickListener() {
                                     @Override
                                     public void onClick(View v) {
                                         dialog.dismiss();
                                     }
                                 });
-                                
+
                                 WebSettings webSettings = webView.getSettings();
                                 webSettings.setJavaScriptEnabled(true);
                                 webSettings.setLoadWithOverviewMode(true);
@@ -922,7 +936,7 @@ public class MainActivity extends BaseActivity {
                                 webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
                                 webSettings.setLoadsImagesAutomatically(true);
                                 webSettings.setDefaultTextEncodingName("utf-8");
-                                
+
                                 webView.setWebViewClient(new WebViewClient() {
                                     @Override
                                     public boolean shouldOverrideUrlLoading(WebView view, String url) {
@@ -934,20 +948,20 @@ public class MainActivity extends BaseActivity {
                                         }
                                         return true;
                                     }
-                                    
+
                                     @Override
                                     public void onPageFinished(WebView view, String url) {
                                         super.onPageFinished(view, url);
                                     }
                                 });
-                                
+
                                 webView.loadUrl("https://github.com/kongzue/DialogX");
                             }
                         })
                         .show();
             }
         });
-        
+
         btnCustomDialog.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -1012,14 +1026,14 @@ public class MainActivity extends BaseActivity {
                 ;
             }
         });
-        
+
         btnCustomDialogAlign.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 CustomDialog.show(new OnBindView<CustomDialog>(R.layout.layout_custom_dialog_align) {
-                            
+
                             private TextView btnSelectPositive;
-                            
+
                             @Override
                             public void onBind(final CustomDialog dialog, View v) {
                                 btnSelectPositive = v.findViewById(R.id.btn_selectPositive);
@@ -1041,14 +1055,14 @@ public class MainActivity extends BaseActivity {
                         .show();
             }
         });
-        
+
         btnPoptip.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 PopTip.show("这是一个提示");
             }
         });
-        
+
         btnPoptipBigMessage.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -1066,14 +1080,14 @@ public class MainActivity extends BaseActivity {
                 }
             }
         });
-        
+
         btnPoptipSuccess.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 PopTip.show("操作已完成").iconSuccess();
             }
         });
-        
+
         btnPoptipWarning.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -1085,14 +1099,14 @@ public class MainActivity extends BaseActivity {
                 }).iconWarning();
             }
         });
-        
+
         btnPoptipError.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 PopTip.show("无法连接网络").iconError();
             }
         });
-        
+
         btnBottomSelectMenu.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -1115,7 +1129,7 @@ public class MainActivity extends BaseActivity {
                         .setSelection(selectMenuIndex);
             }
         });
-        
+
         btnBottomMultiSelectMenu.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -1142,7 +1156,7 @@ public class MainActivity extends BaseActivity {
                         .setSelection(selectMenuIndexArray);
             }
         });
-        
+
         btnBottomCustomRecycleView.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -1181,7 +1195,7 @@ public class MainActivity extends BaseActivity {
                         .show();
             }
         });
-        
+
         btnPopnotification.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -1189,7 +1203,7 @@ public class MainActivity extends BaseActivity {
                 PopNotification.show("这是一条消息 " + notificationIndex).showLong();
             }
         });
-        
+
         btnPopnotificationBigMessage.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -1207,7 +1221,7 @@ public class MainActivity extends BaseActivity {
                         .showLong();
             }
         });
-        
+
         btnPopnotificationOverlay.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -1222,17 +1236,17 @@ public class MainActivity extends BaseActivity {
                         return;
                     }
                 }
-                
+
                 Bitmap icon = BitmapFactory.decodeResource(getResources(), R.mipmap.img_demo_avatar);
                 notificationIndex++;
                 Toast.makeText(me, "会在1秒后显示悬浮窗!", Toast.LENGTH_LONG).show();
-                
+
                 //跳转到桌面
                 Intent intent = new Intent(Intent.ACTION_MAIN);
                 intent.addCategory(Intent.CATEGORY_HOME);
                 intent.addFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_NEW_TASK);
                 startActivity(intent);
-                
+
                 //等待一秒后显示
                 new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
                     @Override
@@ -1256,9 +1270,9 @@ public class MainActivity extends BaseActivity {
             }
         });
     }
-    
+
     int notificationIndex;
-    
+
     private void initFullScreenLoginDemo(final FullScreenDialog fullScreenDialog) {
         btnCancel.setOnClickListener(new View.OnClickListener() {
             @Override
@@ -1266,17 +1280,17 @@ public class MainActivity extends BaseActivity {
                 fullScreenDialog.dismiss();
             }
         });
-        
+
         btnCancel.setText("取消");
         btnSubmit.setText("下一步");
-        
+
         btnLicense.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 PopTip.show("点击用户服务条款");
             }
         });
-        
+
         btnSubmit.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -1285,29 +1299,29 @@ public class MainActivity extends BaseActivity {
                     TipDialog.show("请输入账号", TipDialog.TYPE.WARNING);
                     return;
                 }
-                
+
                 boxUserName.animate().x(-getDisplayWidth()).setDuration(300);
                 boxPassword.setX(getDisplayWidth());
                 boxPassword.setVisibility(View.VISIBLE);
                 boxPassword.animate().x(0).setDuration(300);
-                
+
                 editPassword.setFocusable(true);
                 editPassword.requestFocus();
-                
+
                 btnCancel.setText("上一步");
                 btnCancel.setOnClickListener(new View.OnClickListener() {
                     @Override
                     public void onClick(View v) {
                         boxUserName.animate().x(0).setDuration(300);
                         boxPassword.animate().x(getDisplayWidth()).setDuration(300);
-                        
+
                         editUserName.setFocusable(true);
                         editUserName.requestFocus();
-                        
+
                         initFullScreenLoginDemo(fullScreenDialog);
                     }
                 });
-                
+
                 btnSubmit.setText("登录");
                 btnSubmit.setOnClickListener(new View.OnClickListener() {
                     @Override
@@ -1334,13 +1348,13 @@ public class MainActivity extends BaseActivity {
             }
         });
     }
-    
+
     @Override
     public void onBackPressed() {
         log("#MainActivity.onBackPressed");
         super.onBackPressed();
     }
-    
+
     public void showIME(EditText editText) {
         if (editText == null) {
             return;
@@ -1350,14 +1364,14 @@ public class MainActivity extends BaseActivity {
         InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
         imm.showSoftInput(editText, InputMethodManager.RESULT_UNCHANGED_SHOWN);
     }
-    
+
     @Override
     public void onConfigurationChanged(@NonNull Configuration newConfig) {
         super.onConfigurationChanged(newConfig);
         refreshUIMode();
-        
+
     }
-    
+
     /**
      * 刷新亮暗色模式界面变化
      */

+ 4 - 5
app/src/main/res/layout/activity_main.xml

@@ -5,13 +5,12 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:background="@color/background"
-    android:fitsSystemWindows="true"
     tools:context=".activity.MainActivity">
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/box_table"
+        android:id="@+id/box_title"
         android:layout_width="match_parent"
-        android:layout_height="50dp"
+        android:layout_height="wrap_content"
         android:clickable="true"
         app:layout_constrainedWidth="true"
         app:layout_constraintLeft_toLeftOf="parent"
@@ -36,7 +35,7 @@
         <ImageView
             android:id="@+id/btn_share"
             android:layout_width="45dp"
-            android:layout_height="wrap_content"
+            android:layout_height="50dp"
             android:paddingLeft="10dp"
             android:paddingRight="10dp"
             android:src="@mipmap/img_github"
@@ -51,7 +50,7 @@
         android:layout_width="match_parent"
         android:layout_height="1px"
         android:background="#a6a8a9"
-        app:layout_constraintTop_toBottomOf="@id/box_table" />
+        app:layout_constraintTop_toBottomOf="@id/box_title" />
 
     <ScrollView
         android:layout_width="match_parent"