开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第6天,点击查看活动详情 最近在代码优化、完善功能的过程中,意识到自己的对话框很单一,网上的app自定义Dialog都很有自己的特点,改之后实现效果如下:
也很简洁,但是比初版好很多(可以自由设置像素分辨率高宽,前篇已说),下面来简单介绍下如何实现这种半透明背景对话框: 第一步给自定的Dialog设置自定义背景的xml界面,在项目中找到res->values->styles.xml(如果没有这个.xml文件就自行创建)
具体styles.xml代码设置如下(这里只是一个示范,可以根据自己需求从而进行编写):
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Translucent_NoTitle" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@android:color/transparent</item> <!-- 设置window背景透明,也就是去边框 -->
<item name="android:windowNoTitle">true</item>
</style>
<style name="floatingActionsMenu_fab_style">style</style>
<style name="MyDialog" parent="android:style/Theme.Dialog">
<item name="android:windowIsTranslucent">true</item>
<!--半透明背景-->
<item name="android:backgroundDimEnabled">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowCloseOnTouchOutside">false</item>
<!--false会显示出标题来-->
<item name="android:windowIsFloating">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
</resources>
最后就是在activity中引入:
super(context, R.style.MyDialog);//styles名
this.mContext = context;
今天小技巧分享就到这儿啦,是不是干货满满。如有问题,欢迎留言!