美文网首页
自定义Dialog的详细步骤

自定义Dialog的详细步骤

作者: 杜芊凝 | 来源:发表于2019-11-26 10:28 被阅读0次

    第一步: 给Dialog设置一个风格主题:无边框全透明背景

    在res->valus->styles.xml 下新建一个styles

        <style name="dialog" parent="android:style/Theme.Dialog">

                <!--背景颜色及和透明程度-->

                <item name="android:windowBackground">@android:color/transparent</item>

                <!--是否去除标题 -->

                <item name="android:windowNoTitle">true</item>

                <!--是否去除边框-->

                <item name="android:windowFrame">@null</item>

                <!--是否浮现在activity之上  -->

                <item name="android:windowIsFloating">false</item>

                <!--背景是否模糊-->

                <item name="android:backgroundDimEnabled">false</item>

            </style>

    第二步:新建自定义view 类 继承Dialog,在构造方法中引用刚才写好的styles(粗体部分)

    public class MyDialog extends Dialog {

         public LoginRestltDialog(@NonNull Context context) {

                     //引用样式

                       super(context,R.style.dialog);

                   }

         @Override

          protected void onCreate(Bundle savedInstanceState) {

                   super.onCreate(savedInstanceState);

                   //引入布局

                    setContentView(R.layout.dialog);

        }

       //定义其他需要的方法

    }

    第三步:创建布局

    <?xml version="1.0" encoding="utf-8"?>

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:background="#11ffffff">

        <LinearLayout

            android:layout_width="260dp"

            android:layout_height="wrap_content"

            android:layout_centerInParent="true"

            android:background="@drawable/dialog_share"

            android:orientation="vertical">

            <TextView

                android:id="@+id/title"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_gravity="center"

                android:layout_margin="15dp"

                android:gravity="center"

                android:text="消息提示"

                android:textColor="#38ADFF"

                android:textSize="16sp" />

            <TextView

                android:id="@+id/message"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_marginLeft="20dp"

                android:layout_marginRight="20dp"

                android:text="提示消息" />

            <View

                android:layout_width="match_parent"

                android:layout_height="1px"

                android:layout_marginTop="15dp"

                android:background="#E4E4E4" />

            <LinearLayout

                android:layout_width="match_parent"

                android:layout_height="40dp"

                android:orientation="horizontal">

                <Button

                    android:id="@+id/no"

                    android:layout_width="0dp"

                    android:layout_height="match_parent"

                    android:layout_marginLeft="10dp"

                    android:layout_weight="1"

                    android:background="@null"

                    android:gravity="center"

                    android:singleLine="true"

                    android:text="No"

                    android:textColor="#7D7D7D"

                    android:textSize="16sp" />

                <View

                    android:layout_width="1px"

                    android:layout_height="match_parent"

                    android:background="#E4E4E4" />

                <Button

                    android:id="@+id/yes"

                    android:layout_width="0dp"

                    android:layout_height="match_parent"

                    android:layout_marginRight="10dp"

                    android:layout_weight="1"

                    android:background="@null"

                    android:gravity="center"

                    android:singleLine="true"

                    android:text="Yes"

                    android:textColor="#38ADFF"

                    android:textSize="16sp" />

            </LinearLayout>

        </LinearLayout>

    </RelativeLayout>

    第四步:定义dialog的背景框

    <?xml version="1.0" encoding="utf-8"?>

    <shape xmlns:android="http://schemas.android.com/apk/res/android"> 

        <solid android:color="#ffffff" /> 

        <stroke 

            android:width="0.8dp" 

            android:color="#ffffff" /> 

        <!-- 圆角 --> 

        <corners android:radius="8dp" /> 

    </shape>

    最后在需要的地方调用即可

    相关文章

      网友评论

          本文标题:自定义Dialog的详细步骤

          本文链接:https://www.haomeiwen.com/subject/twstictx.html