• 关于去除Dialog的黑色背景框


    Dialog有两种形式的,一个是Dialog及其子类,还有一种是Activity的Dialog显示方式。

    不管怎样,在自定义Dialog的时候,如果不做一些处理,都会出现黑色背景边框,这个问题动不动就出来困扰我一下,于是打算总结下。

    一、Dialog及其子类

    自定义的话,有几种不同形式: 1>.AlertDialog.Builder的setView方法。

     

    1
    2
    3
    4
    5
    6
    7
    if (mDialog == null) {
       mDialog = new AlertDialog.Builder(mContext)
         .setIcon(R.drawable.ic_launcher)
         .setTitle(R.string.app_name).create();
      }
      mDialog.setView(mView, 0, 0, 0, 0);// 主要是这样话,边界为0,所以就没有黑色边框啦
      mDialog.show();
    

    2>.dialog对应的window(父类窗口)的setContentView方式

    1
    2
    3
    4
    5
    6
    7
    mDialog = new  AlertDialog.Builder(mContext).create();
    mDialog.show();
            mDialog.setCancelable(mCancelable);
            window = mDialog.getWindow();
            try {
    window.setContentView(R.layout.mydialog);
    //因为用的直接是容器window,那么直接setContentView也不会有默认的黑色边框背景
    

    二、Activity的Dialog显示形式

    1
    2
    3
    4
    setTheme(R.style.Theme_Dialog);//dialog形式
    getWindow().setContentView(main);
                    //除掉黑色背景框
    getWindow().setBackgroundDrawableResource(android.R.color.transparent);//清除背景,这样就没有黑边框了
    

     

  • 相关阅读:
    从当前url替换获得新的url
    访问者模式
    备忘录模式
    make makefile cmake qmake 区别
    qt编译过程
    tensorflow前处理
    tesorflow操作
    tensorflow的object_detection安装
    tensorflow 编译与训练
    tensorflow后处理
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/3475516.html
Copyright © 2020-2023  润新知