在一些场景,我们需要在services中处理业务逻辑,有时需要在services中弹出一个Dialog,我采用的方式是启动一个Activity,设置style就好,修改如下:
android:theme="@style/testdialg"
<style name="testdialg" parent="android:style/Theme.Dialog">
<item name="android:background">#00000000</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
</style>
Activity就是正常的activity即可
补充一点:
在Activity中使用自定义dialog的时候,往往Dialog是默认带一个白色的背景图,这个很可能会跟UI的设计冲突,这时候需要在在使用dialog的地方加一句透明的背景代码。
TestDialog mTest = new TestDialog(TestMainActivity.this);
mTest.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
mTest.show();
TestDialog就是继承Dialog的自定义Dialog。