android.view.Window#setDimAmount ( )源码实例Demo

下面列出了android.view.Window#setDimAmount ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: BaldPhone   文件: BDialog.java
public static BDialog newInstance(final @NonNull Context context,
                                  final @NonNull CharSequence title,
                                  final @NonNull CharSequence subText,
                                  final @Nullable CharSequence[] options,
                                  final @Nullable DialogBoxListener positive,
                                  final @Nullable DialogBoxListener negative,
                                  final int inputType,
                                  final StartingIndexChooser startingIndexChooser,
                                  final @Nullable View extraView,
                                  final @Nullable CharSequence negativeCustomText,
                                  final @Nullable CharSequence positiveCustomText,
                                  final int flags
) {
    final BDialog baldDialogBox = new BDialog(context, title, subText, options, positive, negative, inputType, startingIndexChooser, extraView, negativeCustomText, positiveCustomText, flags);
    baldDialogBox.show();
    Window window = baldDialogBox.getWindow();
    window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    window.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
    window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); // This flag is required to set otherwise the setDimAmount method will not show any effect
    window.setDimAmount(DIM_LEVEL);
    return baldDialogBox;
}
 
@Override
public void onStart() {
    super.onStart();
    Dialog dialog = getDialog();
    if (dialog != null) {
        Window window = dialog.getWindow();
        if (window != null) {
            // remove background
            window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
            window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);

            // remove dim
            WindowManager.LayoutParams windowParams = window.getAttributes();
            window.setDimAmount(0.0F);
            window.setAttributes(windowParams);
        }
    }
}
 
源代码3 项目: android-auto-call-recorder   文件: WindowHelper.java
/**
 * Enhance the window by setting a custom dim amout and
 * a background!
 *
 * @param window - the current used window (getDialog.getwindow....)
 */
public static void init(Window window) {
    if (window != null) {
        window.setBackgroundDrawableResource(android.R.color.transparent);
        window.setDimAmount(0.9f);
    }
    //window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
}
 
源代码4 项目: AndroidProject   文件: BaseDialog.java
/**
 * 设置背景遮盖层的透明度(前提条件是背景遮盖层开关必须是为开启状态)
 */
public void setBackgroundDimAmount(@FloatRange(from = 0, to = 1) float dimAmount) {
    Window window = getWindow();
    if (window != null) {
        window.setDimAmount(dimAmount);
    }
}
 
源代码5 项目: Tutors   文件: Tutors.java
@Override
public void onStart() {
    super.onStart();
    final Window window = getDialog().getWindow();
    if (window != null) {
        window.setBackgroundDrawableResource(android.R.color.transparent);
        window.setDimAmount(0f);
        window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
    }
}
 
源代码6 项目: mvvm-template   文件: ProgressDialogFragment.java
@NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) {
    Dialog dialog = super.onCreateDialog(savedInstanceState);
    dialog.setCancelable(false);
    setCancelable(false);
    Window window = dialog.getWindow();
    if (window != null) {
        window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
        window.setDimAmount(0);
    }
    return dialog;
}
 
源代码7 项目: DialogUtil   文件: WindowAdjuster.java
private static void setDimBehind(Window window, ConfigBean bean) {
    if(bean.dimBehind){
        window.setDimAmount(0.6f);
    }else {
        window.setDimAmount(0f);
    }

    
}
 
源代码8 项目: AndroidProject   文件: BaseDialog.java
/**
 * 创建
 */
@SuppressLint("RtlHardcoded")
public BaseDialog create() {

    // 判断布局是否为空
    if (mContentView == null) {
        throw new IllegalArgumentException("are you ok?");
    }

    // 如果当前没有设置重心,就设置一个默认的重心
    if (mGravity == Gravity.NO_GRAVITY) {
        mGravity = Gravity.CENTER;
    }

    // 如果当前没有设置动画效果,就设置一个默认的动画效果
    if (mAnimations == AnimAction.NO_ANIM) {
        switch (mGravity) {
            case Gravity.TOP:
                mAnimations = AnimAction.TOP;
                break;
            case Gravity.BOTTOM:
                mAnimations = AnimAction.BOTTOM;
                break;
            case Gravity.LEFT:
                mAnimations = AnimAction.LEFT;
                break;
            case Gravity.RIGHT:
                mAnimations = AnimAction.RIGHT;
                break;
            default:
                mAnimations = AnimAction.DEFAULT;
                break;
        }
    }

    mDialog = createDialog(mContext, mThemeId);

    mDialog.setContentView(mContentView);
    mDialog.setCancelable(mCancelable);
    if (mCancelable) {
        mDialog.setCanceledOnTouchOutside(mCanceledOnTouchOutside);
    }

    // 设置参数
    Window window = mDialog.getWindow();
    if (window != null) {
        WindowManager.LayoutParams params = window.getAttributes();
        params.width = mWidth;
        params.height = mHeight;
        params.gravity = mGravity;
        params.windowAnimations = mAnimations;
        window.setAttributes(params);
        if (mBackgroundDimEnabled) {
            window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
            window.setDimAmount(mBackgroundDimAmount);
        } else {
            window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
        }
    }

    if (mOnShowListeners != null) {
        mDialog.setOnShowListeners(mOnShowListeners);
    }

    if (mOnCancelListeners != null) {
        mDialog.setOnCancelListeners(mOnCancelListeners);
    }

    if (mOnDismissListeners != null) {
        mDialog.setOnDismissListeners(mOnDismissListeners);
    }

    if (mOnKeyListener != null) {
        mDialog.setOnKeyListener(mOnKeyListener);
    }

    for (int i = 0; mClickArray != null && i < mClickArray.size(); i++) {
        mContentView.findViewById(mClickArray.keyAt(i)).setOnClickListener(new ViewClickWrapper(mDialog, mClickArray.valueAt(i)));
    }

    Activity activity = getActivity();
    if (activity != null) {
        DialogLifecycle.with(activity, mDialog);
    }

    return mDialog;
}
 
源代码9 项目: HaoReader   文件: ProgressDialog.java
@Override
protected void onDialogAttachWindow(@NonNull Window window) {
    window.setGravity(Gravity.CENTER);
    window.setLayout(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT);
    window.setDimAmount(0f);
}
 
源代码10 项目: Leanplum-Android-SDK   文件: BaseMessageDialog.java
protected BaseMessageDialog(Activity activity, boolean fullscreen, BaseMessageOptions options,
    WebInterstitialOptions webOptions, HTMLOptions htmlOptions) {
  super(activity, getTheme(activity));

  SizeUtil.init(activity);
  this.activity = activity;
  this.options = options;
  this.webOptions = webOptions;
  this.htmlOptions = htmlOptions;
  if (webOptions != null) {
    isWeb = true;
  }
  if (htmlOptions != null) {
    isHtml = true;
  }
  dialogView = new RelativeLayout(activity);
  RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
      LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
  dialogView.setBackgroundColor(Color.TRANSPARENT);
  dialogView.setLayoutParams(layoutParams);

  RelativeLayout view = createContainerView(activity, fullscreen);
  view.setId(R.id.container_view);
  dialogView.addView(view, view.getLayoutParams());

  if ((!isWeb || (webOptions != null && webOptions.hasDismissButton())) && !isHtml) {
    CloseButton closeButton = createCloseButton(activity, fullscreen, view);
    dialogView.addView(closeButton, closeButton.getLayoutParams());
  }
  setContentView(dialogView, dialogView.getLayoutParams());

  dialogView.setAnimation(createFadeInAnimation());

  if (!fullscreen) {
    Window window = getWindow();
    if (window == null) {
      return;
    }
    if (!isHtml) {
      window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
      if (Build.VERSION.SDK_INT >= 14) {
        window.setDimAmount(0.7f);
      }
    } else {
      window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);

      if (htmlOptions != null && isBannerWithTapOutsideFalse(htmlOptions)) {
        // banners need to be positioned at the top manually
        // (unless they get repositioned to the bottom later)
        window.setLayout(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
        window.setGravity(Gravity.TOP);

        // use the html y offset to determine the y location of the window; this is different
        // from non-banners because we don't want to make the window too big (e.g. via a margin
        // in the layout) and block other things on the screen (e.g. dialogs)
        WindowManager.LayoutParams windowLayoutParams = window.getAttributes();
        windowLayoutParams.y = htmlOptions.getHtmlYOffset(activity);
        window.setAttributes(windowLayoutParams);

        window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
            WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
      } else {
        window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
            WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
      }

      if (htmlOptions != null &&
          MessageTemplates.Args.HTML_ALIGN_BOTTOM.equals(htmlOptions.getHtmlAlign())) {
        if (isBannerWithTapOutsideFalse(htmlOptions)) {
          window.setGravity(Gravity.BOTTOM);
        } else {
          dialogView.setGravity(Gravity.BOTTOM);
        }
      }
    }
  }
}
 
源代码11 项目: DialogUtil   文件: Tool.java
public static void adjustStyle(final ConfigBean bean) {
    /*if (bean.alertDialog!= null){
        //setMdBtnStytle(bean);
        //setListItemsStyle(bean);
       // adjustStyle(bean.context,bean.dialog,bean.viewHeight,bean);

    }else {
        adjustWH(bean.context,bean.dialog,bean.viewHeight,bean);
    }*/

    setBg(bean);
   // bean.isTransparentBehind = true;
    setDim(bean);
    Dialog dialog = bean.dialog ==null ? bean.alertDialog : bean.dialog;
    Window window = dialog.getWindow();
    window.setGravity(bean.gravity);
    if(bean.context instanceof Activity){
        //setHomeKeyListener(window,bean);
    }else {
        window.setType(WindowManager.LayoutParams.TYPE_TOAST);
        WindowManager.LayoutParams params = window.getAttributes();
        if(params==null){
            params = new WindowManager.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        }
        params.format = PixelFormat.RGBA_8888;
        params.flags =
           // WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL  |
            WindowManager.LayoutParams.FLAG_LOCAL_FOCUS_MODE  |
            WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH |
            WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD;
        params.dimAmount = 0.2f;
        //params.alpha = 0.5f;//the alpha of window

        window.setAttributes(params);

        // back key pressed
        window.getDecorView().setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if (keyCode == KeyEvent.KEYCODE_BACK || event.getKeyCode() == KeyEvent.KEYCODE_SETTINGS) {
                    StyledDialog.dismiss(bean.alertDialog,bean.dialog);
                    return true;
                }
                return false;
            }
        });
        // home key pressed
        setHomeKeyListener(window,bean);

        //todo outside not touchable

        //todo dim behind
        window.setDimAmount(0.2f);

    }

}
 
源代码12 项目: Overchan-Android   文件: CompatibilityImpl.java
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public static void setDimAmount(Window window, float f) {
    window.setDimAmount(f);
}