自定义Dialog

借鉴自

https://blog.csdn.net/android_it/article/details/51161038

https://blog.csdn.net/oQiHaoGongYuan/article/details/50958659


效果



style

<!--dialog-->
<style name="MyDialog" parent="android:style/Theme.Dialog">
    <item name="android:windowBackground">@android:color/transparent</item>
    <!--是否在window之上-->
    <item name="android:windowIsFloating">true</item>
</style>

本想在代码中省去这一步,但是他不是对Dialog操作的,是对ContextWrapper操作的,所以我不敢改动太多,留个坑,日后再做掉这个


布局

<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="20dp"
    android:background="#fff"
    android:textColor="@color/colorAccent"
    android:text="我是自定义Dialog"/>

这里面存放一个你的dialog中的样式,我这里就简单把text view作为根布局,默认是一个居中的效果。

如果你想自己定制整个布局,而且需要背景也是默认的灰色,可以给背景设置成#66000000


dialog

public class MyDialog extends Dialog {

    public MyDialog(Context context) {
        super(context, R.style.MyDialog);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.my_dialog);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_36523667/article/details/80173397