广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    android dialog边框去除白色边框实现思路及代码

    2018-04-04 08:35:06 次阅读 稿源:互联网
    广告
    使用样式文件,在values 目录下新建styles.xml文件,编写如下代码:
    代码如下:

    Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><resources>
    <style name="dialog" parent="@android:style/Theme.Dialog">
    <item name="android:windowFrame">@null</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowIsTranslucent">false</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:background">@android:color/black</item>
    <item name="android:windowBackground">@null</item>
    <item name="android:backgroundDimEnabled">false</item>
    </style>
    </resources>

    调用时,使用AlerDialog的接口类,Dialog 接口编写如下代码: 
    代码如下:

    Dialog dialog = new Dialog(SetActivity.this, R.style.dialog);
    dialog.setContentView(R.layout.test);
    dialog.show();

    下面我们查看一下Dialog的源码文件,里面的构造函数为如下
    代码如下:

    Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public Dialog(Context context, int theme) {
    mContext = new ContextThemeWrapper(
    context, theme == 0 ? com.android.internal.R.style.Theme_Dialog : theme);
    mWindowManager = (WindowManager)context.getSystemService("window");
    Window w = PolicyManager.makeNewWindow(mContext);
    mWindow = w;
    w.setCallback(this);
    w.setWindowManager(mWindowManager, null, null);
    w.setGravity(Gravity.CENTER);
    mUiThread = Thread.currentThread();
    mDismissCancelHandler = new DismissCancelHandler(this);
    }

    这里面我们可以看出,Android 使用了默认的构造函数为Dialog 设置样式,如果没有为其设置样式,即默认加载事先编写好的样式文件,Dialog 一共由多个9.png的图片构成,大部分都是带有边框的9.png图片,所以就是为什么我们上边的样式文件要将其背景去除掉。这个东西搞了我好久,希望对你有帮助
    前后效果对比

    未设置前:

    设置后:

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告