##背景
最近公司开发NFC开门的功能,咋一眼看功能很简单,直接用Dialog方式封装就能解决问题。但是我们公司是模块化的方式搭建开发App,为了让模块间的代码层次清晰与扩展及易与阅读,因此我们最终用Activity的方式实现Dialog的样式及功能。
以下的开发过程以dialog1图片举例说明
##开发过程
###1.创建Theme样式
<style name="activityTransparentTheme" parent="@style/AppTheme.NoActionBar">
<item name="android:windowFrame">@null</item> <!-- 无windowFrame -->
<item name="android:windowIsFloating">true</item> <!-- 浮在activity之上 -->
<item name="android:windowIsTranslucent">false</item> <!-- 半透明 -->
<item name="android:windowNoTitle">true</item> <!-- 隐藏标题 -->
<item name="windowNoTitle">true</item> <!-- 隐藏标题 -->
<item name="android:background">@android:color/transparent</item>
<item name="android:windowBackground">@android:color/transparent</item> <!-- 设置系统给定的透明值 -->
<item name="android:backgroundDimEnabled">true</item> <!-- 背景是否变暗-->
<item name="android:windowAnimationStyle">@style/AnimationFade</item>
</style> <!-- activity显示方式 -->
1、如果继承的Activity是AppCompatActivity,需要用@style/AppTheme XX的样式
2、如果阴影部分出现文字,用windowNoTitle和android:windowNoTitle设置为True即可
扩展:1.windowNoTitle = false 并且 android:windowNoTitle = false 时,会出现两个标题,位于下方的是AppCompatA