首页 > 代码库 > android4步搞定自定义dialog

android4步搞定自定义dialog

第一步,drawable新建一个圆角的背景xml dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<!-- 用户注册红色按钮 -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle"><!-- android:shape="" 表示是圆角矩形还是椭圆等等 -->
    <solid android:color="背景颜色" />
    <!-- 背景颜色 -->

    <!-- padding 表示内部空间距离背景图片内部边距 的距离 -->
    <padding android:top="15dp" android:bottom="15dp" />

    <stroke
        android:width="0dp"
        android:color="#ffffff" />
    <!-- 图片边框属性 -->
    <corners android:radius="5dp" />
    <!-- 圆角的程度 -->
    <gradient
        android:angle="45"
        android:centerColor="渐变中间的颜色"
        android:centerX="0.5"
        android:centerY="0.5"
        android:endColor="渐变结束的颜色"
        android:startColor="渐变开始的颜色"
        android:type="linear" />
</shape>
第二步:在style.xml下建立自定义style

 <style name="my_dialog" parent="@android:style/Theme.Dialog">
        <item name="android:colorBackgroundCacheHint">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowFrame">@null</item><!--边框-->
        <item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
        <item name="android:windowIsTranslucent">false</item><!--半透明-->
        <item name="android:background">@drawable/dialog</item><!--dialog背景样式-->
        <item name="android:windowBackground">@android:color/transparent</item><!-- 背景透明 -->
        <item name="android:backgroundDimEnabled">true</item><!--模糊-->
    </style>


第三步:

建立一个自定义的layout文件my_layout.xml,内容随你喜欢,这里就不写了

第四步:

 Dialog dialog = new Dialog(context, R.style.my_dialog);
 dialog.setContentView(R.layout.my_layout.xml);
搞定

android4步搞定自定义dialog