千磨万击还坚劲,任尔东西南北风。这篇文章主要讲述去除安卓自定义Dialog黑色背景,设置无边框,透明相关的知识,希望能为你提供帮助。
我们在自定义Dialog的时候,往往会希望除去安卓系统定义背景和标题,以便于更好的显示我们自己想要的效果。
其实我们只需要注意几个地方就行了。
1.在Style文件的中定义Dialog的主题
- < style name="MyDialog">
- < item name="android:windowFrame"> @null< /item>
- < item name="android:windowBackground"> @android:color/transparent< /item>
- < item name="android:windowNoTitle"> true< /item>
- < item name="android:windowIsFloating"> true< /item>
- < item name="android:windowContentOverlay"> @null< /item>
- < /style>
主要是这句:< item name="Android:windowBackground"> @android:color/transparent< /item> 把windowBackground设置为透明
【去除安卓自定义Dialog黑色背景,设置无边框,透明】2.在自定义的Dialog构造方法中使用,如果你在DIalog的布局文件中去使用这个主题是没有作用的,必须在三个构造方法都要使用该主题,这样防止进入哪个构造方法时没调用主题。不然就看不到效果了。
public MyDialog(Context context){
super(context,R.stytle.MyDialog);
}
public MyDialog(Context context,int thremId){
super(context,R.stytle.MyDialog);
}
这样你的Dialog应该是可以显示出无黑色背景和无边框的。
推荐阅读
- 涉嫌垄断的App Store,到底做了什么让开发者暴怒
- Android - 设计模式
- Android7.0 Doze模式分析Doze介绍 &amp; DeviceIdleController
- Android 项目的代码混淆,Android proguard 使用说明
- spring data整合elasticsearch的applicationContext.xml文件模板
- spring boot 读取 application.properties 初始化bean
- [国家集训队2011]happiness(吴确) (最小割)
- Android 如何让EditText不自动获取焦点 (转)
- react native中Unable to load script from assets 'index.android.bundle'解决方案