Android dialog透明背景样式

在项目中 有时候需要Dialog透明背景该怎样才能满足需求呢,现在分享代码
1.样式:

<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">@android:color/transparent</item><!--背景透明-->
        <item name="android:backgroundDimEnabled">false</item><!--模糊-->
    </style>

2.自定义dialog

import android.app.AlertDialog;
import android.content.Context;
import android.os.Bundle;

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.activity_dialog);
    }
}

3.activity_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="115dp"
    android:layout_height="wrap_content"
    android:background="@drawable/otherapp_bg"
    android:orientation="vertical"
    android:padding="10dp">

    <Button
        android:id="@+id/btnSltCntAll"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#00000000"
        android:gravity="left|center_vertical"
        android:paddingLeft="10dp"
        android:paddingTop="5dp"
        android:paddingBottom="5dp"
        android:text="联系人"></Button>

    <Button
        android:id="@+id/btnSltGudongUser"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#00000000"
        android:gravity="left|center_vertical"
        android:paddingLeft="10dp"
        android:paddingTop="5dp"
        android:paddingRight="10dp"
        android:paddingBottom="5dp"
        android:text="咕咚"></Button>

    <Button
        android:id="@+id/btnSltRecommend"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#00000000"
        android:gravity="left|center_vertical"
        android:paddingLeft="10dp"
        android:paddingTop="5dp"
        android:paddingBottom="5dp"
        android:text="用户"></Button>
</LinearLayout>

4.引用dialog

SelectDialog selectDialog = new SelectDialog(this,R.style.dialog);//创建Dialog并设置样式主题
                Window win = selectDialog.getWindow();
                WindowManager.LayoutParams params = new WindowManager.LayoutParams();
                params.gravity= Gravity.CENTER;
                win.setAttributes(params);
                selectDialog.setCanceledOnTouchOutside(false);//设置点击Dialog外部任意区域关闭Dialog
                selectDialog.show();
发布了262 篇原创文章 · 获赞 2 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/baidu_41666295/article/details/105438470