使用样式文件,在values 目录下新建styles.xml文件,编写如下代码:
<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>
<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.setContentView(R.layout.test);
dialog.show();
下面我们查看一下Dialog的源码文件,里面的构造函数为如下:
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);
}
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图片,所以就是为什么我们上边的样式文件要将其背景去除掉。这个东西搞了我好久,希望对你有帮助
前后效果对比
未设置前:
设置后:
相关推荐
在"安卓Android源码——自定义对话框.zip"这个压缩包中,可能包含了一个完整的自定义对话框示例,包括了相关的Java代码和XML布局文件。我们通常会创建一个继承自`DialogFragment`或`AppCompatDialogFragment`的类来...
本篇将详细介绍如何去除Android自定义Dialog的白色边框。 首先,我们需要创建一个自定义的主题(style)来改变Dialog的默认外观。在项目的`res/values`目录下,如果没有`styles.xml`文件,需要创建一个。然后在`...
本压缩包文件“安卓Android源码——dialog去除边框代码.zip”提供了实现这一目标的源码示例。 首先,我们需要理解Android Dialog的基本结构。Dialog通常基于AlertDialog或自定义的DialogFragment创建。在...
在Android应用开发中,对话框(Dialog)是用户界面中常用的一种组件,它通常用于向用户展示临时信息或进行简单的交互。本示例主要关注如何去除Android Dialog的默认边框,使其看起来更加简洁和符合现代设计风格。...
本资源“Android应用源码之dialog去除边框代码.zip”提供了一种方法,帮助开发者实现无边框的自定义Dialog效果。以下是关于这个主题的详细知识点: 1. **Dialog的基本概念**: - Dialog是Android中的一个窗口类,...
当我们通过自定义样式去掉边框时,实际上是覆盖了这些默认图像,从而达到去除边框的效果。在Dialog的构造函数中,我们可以看到它会根据传递的样式来初始化组件,如果我们没有提供样式,那么它会使用默认的`Theme....
本主题聚焦于"拍照保存(调用手机),对话框的自定义样式",旨在探讨如何实现拍照功能、照片裁剪、自定义对话框以及去除对话框边框等技术细节。以下将详细介绍这些知识点。 首先,**拍照功能**的实现通常涉及到调用...
自定义对话框(Dialog)效果,Dialog中里面放的ViewPager用来展示图片,Dialog中里面放的ViewPager用来展示图片,底部带圆点,可以设置是否自动滚动,自定义了Dialog的style,去除了背景黑色和边框,效果还不错,分享...
这个"应用源码之dialog去除边框代码.zip"文件正是提供了这样的解决方案。 首先,我们需要理解Android Dialog的基本结构。Dialog是基于AlertDialog类的,它通常包含一个标题、一个消息区域以及按钮。默认情况下,...
本篇文章将详细介绍如何在Android中去除Dialog的白色边框,以实现"dialogstyle 去掉背景白色框"的目标。 首先,我们需要了解Dialog的基本结构。Dialog是基于AlertDialog类或者自定义的DialogFragment构建的,通常...
总结来说,本章节介绍了如何通过自定义Android Dialog的主题样式来去除其周围的白色边框,从而提供一个更加沉浸式的用户体验。通过在`styles.xml`文件中定义新的样式,并在Dialog实例化时应用该样式,我们可以灵活地...
在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的设计风格和功能需求创建具有独特外观和行为的对话框。本篇文章将深入探讨如何在Android中实现自定义Dialog,包括自定义风格和布局。 首先,...
在Android应用开发中,我们通常会遇到需要创建对话框的情况,而自定义对话框允许开发者根据应用的风格和需求来定制对话框的外观和行为。 在Android系统中,对话框通常是通过`AlertDialog`类来实现的。自定义扁平化...
本项目是一个Android应用源码示例,专注于去除Dialog的边框,使得对话框看起来更加简洁、专业。这对于提升应用的整体视觉效果至关重要,尤其是在毕业设计或者论文展示中,一个精致的UI设计可以给作品加分。 首先,...
这将去除对话框的边框并应用半透明主题。 4. **显示对话框**:在适当的时候调用`show()`方法,将对话框添加到界面上。例如,在Activity中: ```java MyCustomDialog dialog = new MyCustomDialog(); dialog....
因此,了解如何去除Dialog的边框并自定义其外观是Android开发中的一个重要知识点。 首先,我们要明白Dialog的边框主要来源于它的主题(Theme),在Android资源文件中定义。默认情况下,Dialog使用的是`Theme....
总结,实现Android圆角边框对话框的关键在于理解并运用`<layer-list>`、`<shape>`和`<corners>`等XML元素来创建自定义背景,然后结合主题样式和`AlertDialog.Builder`来构建对话框。这种技术在Android开发中非常实用...