博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 自定义Dialog背景透明及显示位置设置
阅读量:7007 次
发布时间:2019-06-28

本文共 1426 字,大约阅读时间需要 4 分钟。

贴一下显示效果图,仅作参考:

 

 

代码如下:

 

1、自定义Dialog

 

public class SelectDialog extends AlertDialog{
public SelectDialog(Context context, int theme) {
    super(context, theme);
}
public SelectDialog(Context context) {
    super(context);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.slt_cnt_type);
}
}

 

 

2、布局文件slt_cnt_type.xml代码 

 

3、颜色color.xml代码

 

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <color name="transparent">#00000000</color>
</resources>

 

4、样式style.xml代码

 

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="dialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item><!--边框-->
        <item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
        <item name="android:windowIsTranslucent">false</item><!--半透明-->
        <item name="android:windowNoTitle">true</item><!--无标题-->
        <item name="android:windowBackground">@color/transparent</item><!--背景透明-->
        <item name="android:backgroundDimEnabled">false</item><!--模糊-->
    </style>
</resources>

 

 

4、显示Dialog

 

SelectDialog selectDialog = new SelectDialog(this,R.style.dialog);//创建Dialog并设置样式主题
Window win = selectDialog.getWindow();
LayoutParams params = new LayoutParams();
params.x = -80;//设置x坐标
params.y = -60;//设置y坐标
win.setAttributes(params);
selectDialog.setCanceledOnTouchOutside(true);//设置点击Dialog外部任意区域关闭Dialog
selectDialog.show();

转载地址:http://lcjtl.baihongyu.com/

你可能感兴趣的文章