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

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

源代码1 项目: PermissionAgent   文件: OverlaySpecialOperation.java
private boolean tryDisplayDialog(Context context) {
    Dialog dialog = new Dialog(context, android.R.style.Theme_Translucent_NoTitleBar);
    int windowType;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        windowType = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
    } else {
        windowType = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
    }
    Window window = dialog.getWindow();
    if (window != null) {
        window.setType(windowType);
    }
    try {
        dialog.show();
    } catch (Exception e) {
        return false;
    } finally {
        if (dialog.isShowing()) dialog.dismiss();
    }
    return true;
}
 
源代码2 项目: PermissionAgent   文件: OverlaySpecialOperation.java
private boolean tryDisplayDialog(Context context) {
    Dialog dialog = new Dialog(context, android.R.style.Theme_Translucent_NoTitleBar);
    int windowType;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        windowType = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
    } else {
        windowType = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
    }
    Window window = dialog.getWindow();
    if (window != null) {
        window.setType(windowType);
    }
    try {
        dialog.show();
    } catch (Exception e) {
        return false;
    } finally {
        if (dialog.isShowing()) dialog.dismiss();
    }
    return true;
}
 
源代码3 项目: dynamic-support   文件: DynamicDialogUtils.java
/**
 * Bind the dialog with a window token.
 * <p>Useful to display it from a service.
 *
 * @param view The view to bind the dialog.
 * @param dialog The dialog to be displayed.
 * @param type The dialog type.
 * @param windowAnimations The custom animation used for the window.
 *
 * @return The bound dialog with the supplied view.
 */
public static Dialog bindDialog(@Nullable View view,
        @NonNull Dialog dialog, int type, @StyleRes int windowAnimations) {
    Window window = dialog.getWindow();

    if (window != null) {
        if (view != null && view.getWindowToken() != null) {
            window.getAttributes().token = view.getWindowToken();
        }

        window.setType(type);
        window.setWindowAnimations(windowAnimations);
        window.addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
    }

    return dialog;
}
 
源代码4 项目: AndPermission   文件: BaseRequest.java
static boolean tryDisplayDialog(Context context) {
    Dialog dialog = new Dialog(context, R.style.Permission_Theme_Dialog_Transparent);
    Window window = dialog.getWindow();
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        window.setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY);
    } else {
        window.setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
    }
    try {
        dialog.show();
    } catch (Exception e) {
        return false;
    } finally {
        if (dialog.isShowing()) dialog.dismiss();
    }
    return true;
}
 
public UnsupportedDisplaySizeDialog(final AppWarnings manager, Context context,
        ApplicationInfo appInfo) {
    mPackageName = appInfo.packageName;

    final PackageManager pm = context.getPackageManager();
    final CharSequence label = appInfo.loadSafeLabel(pm);
    final CharSequence message = context.getString(
            R.string.unsupported_display_size_message, label);

    mDialog = new AlertDialog.Builder(context)
            .setPositiveButton(R.string.ok, null)
            .setMessage(message)
            .setView(R.layout.unsupported_display_size_dialog_content)
            .create();

    // Ensure the content view is prepared.
    mDialog.create();

    final Window window = mDialog.getWindow();
    window.setType(WindowManager.LayoutParams.TYPE_PHONE);

    // DO NOT MODIFY. Used by CTS to verify the dialog is displayed.
    window.getAttributes().setTitle("UnsupportedDisplaySizeDialog");

    final CheckBox alwaysShow = mDialog.findViewById(R.id.ask_checkbox);
    alwaysShow.setChecked(true);
    alwaysShow.setOnCheckedChangeListener((buttonView, isChecked) -> manager.setPackageFlag(
            mPackageName, AppWarnings.FLAG_HIDE_DISPLAY_SIZE, !isChecked));
}
 
public UnsupportedCompileSdkDialog(final AppWarnings manager, Context context,
        ApplicationInfo appInfo) {
    mPackageName = appInfo.packageName;

    final PackageManager pm = context.getPackageManager();
    final CharSequence label = appInfo.loadSafeLabel(pm);
    final CharSequence message = context.getString(R.string.unsupported_compile_sdk_message,
            label);

    final AlertDialog.Builder builder = new AlertDialog.Builder(context)
            .setPositiveButton(R.string.ok, null)
            .setMessage(message)
            .setView(R.layout.unsupported_compile_sdk_dialog_content);

    // If we might be able to update the app, show a button.
    final Intent installerIntent = AppInstallerUtil.createIntent(context, appInfo.packageName);
    if (installerIntent != null) {
            builder.setNeutralButton(R.string.unsupported_compile_sdk_check_update,
                    (dialog, which) -> context.startActivity(installerIntent));
    }

    // Ensure the content view is prepared.
    mDialog = builder.create();
    mDialog.create();

    final Window window = mDialog.getWindow();
    window.setType(WindowManager.LayoutParams.TYPE_PHONE);

    // DO NOT MODIFY. Used by CTS to verify the dialog is displayed.
    window.getAttributes().setTitle("UnsupportedCompileSdkDialog");

    final CheckBox alwaysShow = mDialog.findViewById(R.id.ask_checkbox);
    alwaysShow.setChecked(true);
    alwaysShow.setOnCheckedChangeListener((buttonView, isChecked) -> manager.setPackageFlag(
            mPackageName, AppWarnings.FLAG_HIDE_COMPILE_SDK, !isChecked));
}
 
public DeprecatedTargetSdkVersionDialog(final AppWarnings manager, Context context,
        ApplicationInfo appInfo) {
    mPackageName = appInfo.packageName;

    final PackageManager pm = context.getPackageManager();
    final CharSequence label = appInfo.loadSafeLabel(pm);
    final CharSequence message = context.getString(R.string.deprecated_target_sdk_message);

    final AlertDialog.Builder builder = new AlertDialog.Builder(context)
            .setPositiveButton(R.string.ok, (dialog, which) ->
                manager.setPackageFlag(
                        mPackageName, AppWarnings.FLAG_HIDE_DEPRECATED_SDK, true))
            .setMessage(message)
            .setTitle(label);

    // If we might be able to update the app, show a button.
    final Intent installerIntent = AppInstallerUtil.createIntent(context, appInfo.packageName);
    if (installerIntent != null) {
        builder.setNeutralButton(R.string.deprecated_target_sdk_app_store,
                (dialog, which) -> {
                    context.startActivity(installerIntent);
                });
    }

    // Ensure the content view is prepared.
    mDialog = builder.create();
    mDialog.create();

    final Window window = mDialog.getWindow();
    window.setType(WindowManager.LayoutParams.TYPE_PHONE);

    // DO NOT MODIFY. Used by CTS to verify the dialog is displayed.
    window.getAttributes().setTitle("DeprecatedTargetSdkVersionDialog");
}
 
源代码8 项目: android_9.0.0_r45   文件: Presentation.java
/**
 * Creates a new presentation that is attached to the specified display
 * using the optionally specified theme.
 *
 * @param outerContext The context of the application that is showing the presentation.
 * The presentation will create its own context (see {@link #getContext()}) based
 * on this context and information about the associated display.
 * @param display The display to which the presentation should be attached.
 * @param theme A style resource describing the theme to use for the window.
 * See <a href="{@docRoot}guide/topics/resources/available-resources.html#stylesandthemes">
 * Style and Theme Resources</a> for more information about defining and using
 * styles.  This theme is applied on top of the current theme in
 * <var>outerContext</var>.  If 0, the default presentation theme will be used.
 */
public Presentation(Context outerContext, Display display, int theme) {
    super(createPresentationContext(outerContext, display, theme), theme, false);

    mDisplay = display;
    mDisplayManager = (DisplayManager)getContext().getSystemService(DISPLAY_SERVICE);

    final Window w = getWindow();
    final WindowManager.LayoutParams attr = w.getAttributes();
    attr.token = mToken;
    w.setAttributes(attr);
    w.setGravity(Gravity.FILL);
    w.setType(TYPE_PRESENTATION);
    setCanceledOnTouchOutside(false);
}
 
private void initView() {
    Window window = getWindow();
    if (window == null) {
        return;
    }
    window.requestFeature(Window.FEATURE_NO_TITLE);

    int layoutId = getLayoutResId();
    if(layoutId != 0){
        setContentView(layoutId);
    }else{
        View contentView = onCreateView();
        if(contentView != null){
            setContentView(contentView);
        }else{
            throw new IllegalArgumentException("initialize failed.check if you have call onCreateView or getLayoutResId");
        }
    }

    setCancelable(true);
    setCanceledOnTouchOutside(true);

    if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) {
        window.setType(WindowManager.LayoutParams.TYPE_APPLICATION_PANEL);
    }

    window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
    window.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

    onInitView(window);
}
 
源代码10 项目: sinovoice-pathfinder   文件: CandidateView.java
/**
     * ��ʼ��¼��dialog
     */
    private void initAsrDialog() {
        mRecorderDialog = new JTAsrRecorderDialog(mService, asrListener);
        Window window = mRecorderDialog.getWindow();
        window.setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
        window.addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
//        window.setGravity(Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL);
        mRecorderDialog.setOnDismissListener(new OnDismissListener() {
            @Override
            public void onDismiss(DialogInterface dialog) {
                if(TextUtils.isEmpty(mAsrResult)){
                    return;
                }
                
                Message msg = mHandler.obtainMessage(Pathfinder.MSG_WHAT_ASR_RESULT, mAsrResult);
                mHandler.sendMessage(msg);
                mAsrResult = "";
            }
        });

        JTAsrRecogParams asrRecogParams = new JTAsrRecogParams();
        asrRecogParams.setCapKey(SysConfig.CAPKEY_ASR);
        asrRecogParams
                .setAudioFormat(HciCloudAsr.HCI_ASR_AUDIO_FORMAT_PCM_16K16BIT);
        asrRecogParams.setMaxSeconds("60");
        asrRecogParams.setAddPunc("yes");

        // ��ȡ�ֻ�������,�����ֻ�����������ѹ����ʽ
        int cpuCoreNum = getNumCores();
        if (cpuCoreNum > 1) {
            asrRecogParams.setEncode(HciCloudAsr.HCI_ASR_ENCODE_SPEEX);
        } else {
            asrRecogParams.setEncode(HciCloudAsr.HCI_ASR_ENCODE_ALAW);
        }
        
        mRecorderDialog.setParams(asrRecogParams);
    }
 
源代码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 项目: talkback   文件: DialogUtils.java
public static void setWindowTypeToDialog(Window window) {
  window.setType(getDialogType());
}