浏览代码

修改隐私政策弹窗显示流程(之前某些情况下可能导致内容层未显示,只显示了阴影层)

Pq 1 年之前
父节点
当前提交
12a48a5ace
共有 1 个文件被更改,包括 22 次插入0 次删除
  1. 22 0
      BaseLibrary/src/main/java/com/cooleshow/base/widgets/dialog/PrivacyTipDialog.java

+ 22 - 0
BaseLibrary/src/main/java/com/cooleshow/base/widgets/dialog/PrivacyTipDialog.java

@@ -4,7 +4,10 @@ import android.app.Dialog;
 import android.content.Context;
 import android.os.Bundle;
 import android.text.method.LinkMovementMethod;
+import android.view.Gravity;
 import android.view.View;
+import android.view.Window;
+import android.view.WindowManager;
 import android.widget.TextView;
 
 import com.cooleshow.base.R;
@@ -28,6 +31,7 @@ public class PrivacyTipDialog extends Dialog {
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.dialog_privacy_agreement_layout);
+        initParams();
         setCanceledOnTouchOutside(false);
         setCancelable(false);
         mTvContent = findViewById(R.id.tv_content);
@@ -36,6 +40,24 @@ public class PrivacyTipDialog extends Dialog {
         mTvContent.setMovementMethod(LinkMovementMethod.getInstance());
     }
 
+
+    private void initParams(){
+        Window window = getWindow();
+        //设置dialog在屏幕底部
+        window.setGravity(Gravity.CENTER);
+        //设置dialog弹出时的动画效果,从屏幕底部向上弹出
+        window.getDecorView().setPadding(0, 0, 0, 0);
+        //获得window窗口的属性
+        WindowManager.LayoutParams lp = window.getAttributes();
+        //设置窗口宽度为充满全屏
+        lp.width = WindowManager.LayoutParams.MATCH_PARENT;
+        //设置窗口高度为包裹内容
+        lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
+        lp.horizontalMargin = 0;
+        lp.verticalMargin = 0;
+        //将设置好的属性set回去
+        window.setAttributes(lp);
+    }
     public void setContent(CharSequence content) {
         if (mTvContent != null) {
             mTvContent.setText(content);