Android中对话框右上角关闭悬浮按钮的实现(总结)

其实很简单,步骤如下:

1、需要把对话框的默认背景改为透明。

方法:自定义Dialog的样式。

<!--对话框透明背景-->
<style name="Translucent_NoTitle" parent="android:style/Theme.Dialog">

    <!--边框-->
    <item name="android:windowFrame">@null</item>
    <!--是否浮现在activity之上-->
    <item name="android:windowIsFloating">true</item>
    <!--半透明-->
    <item name="android:windowIsTranslucent">false</item>
    <!--无标题-->
    <item name="android:windowNoTitle">true</item>
    <!--提示框背景(透明)-->
    <item name="android:windowBackground">@color/transparent</item>
    <!--模糊-->
    <item name="android:backgroundDimEnabled">true</item>

</style>
<color name="transparent">#00000000</color>

如何使用:

final Dialog dialog = new Dialog(mContext, R.style.Translucent_NoTitle);

注意:要用Dialog,不要用AlertDialog。因为AlertDialog已经具有本身的默认样式了。

2、透过Margin之类的属性进行布局排列即可。

如何向让实现按钮或者图片的悬浮效果,只需要设置相应布局的Margin或者Padding属性即可。(因为对话框的背景已经是透明的了)

 

PS:如果想要设置对话框整体的透明度的话(内容也会跟着变),代码如下:

//提示框整体透明度
Window window = dialog.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.alpha = 0.1f;// 设置透明度为0.5
window.setAttributes(lp);

 

 

展开阅读全文

没有更多推荐了,返回首页