一个封装好的仿照iOS弹窗样式的dialog

封装一个仿照iOS弹窗的控件,如果需要了解更多,请关注本可人儿的博客惹
需要自取,我懒得写注释

准备工具类:MsgDialog,它是将dialog进行操作的实体类
ios弹窗的工具类
然后是ios弹窗的布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="300dp"
    app:cardCornerRadius="20dp"
    android:layout_height="wrap_content">

<LinearLayout
        android:orientation="vertical"
        android:layout_width="300dp"
        android:paddingTop="24dp"
        android:minWidth="300dp"
        android:layout_height="wrap_content">


    <TextView
            android:id="@+id/tv_title"
            android:layout_width="wrap_content"
            android:textSize="18sp"
            android:textColor="@color/_000000"
            android:layout_gravity="center_horizontal"
            android:textStyle="bold"
            android:gravity="center"
            android:text="asdasdasd"
            android:layout_height="wrap_content"/>

    <TextView
            android:id="@+id/tv_content"
            android:textColor="@color/_000000"
            android:textSize="15sp"
            android:layout_marginTop="10dp"
            android:layout_gravity="center_horizontal"
            android:text="asdasdasd"
            android:layout_marginBottom="24dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

    <LinearLayout
            android:id="@+id/ll_btn"
            android:visibility="gone"
            android:layout_width="match_parent"
            android:orientation="vertical"
            android:layout_height="wrap_content">

        <View
                android:background="@color/_e5e5e5"
                android:layout_width="match_parent"
                android:layout_height="1dp"/>

        <LinearLayout
                android:layout_width="match_parent"
                android:orientation="horizontal"
                android:background="@color/_e5e5e5"
                android:layout_height="55dp">

            <TextView
                    android:id="@+id/tv_neg"
                    android:text="no"
                    android:minWidth="149.5dp"
                    android:textSize="17sp"
                    android:gravity="center"
                    android:background="@color/_ffffff"
                    android:textColor="@color/_666666"
                    android:layout_weight="1"
                    android:layout_marginEnd="0.1dp"
                    android:visibility="gone"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"/>


            <TextView
                    android:id="@+id/tv_pos"
                    android:minWidth="149.5dp"
                    android:text="yes"
                    android:visibility="gone"
                    android:textSize="17sp"
                    android:background="@color/_ffffff"
                    android:layout_weight="1"
                    android:gravity="center"
                    android:textColor="@color/_136FF8"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"/>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>

最后是style文件里面的配置

<style name="ActionSheetDialogStyle" parent="Animation.Design.BottomSheetDialog">
    <!-- 背景透明 -->
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <!-- 浮于Activity之上 -->
    <item name="android:windowIsFloating">true</item>
    <!-- 边框 -->
    <item name="android:windowFrame">@null</item>
    <!-- Dialog以外的区域模糊效果 -->
    <item name="android:backgroundDimEnabled">true</item>
    <!-- 无标题 -->
    <item name="android:windowNoTitle">true</item>
    <!-- 半透明 -->
    <item name="android:windowIsTranslucent">true</item>
    <!-- Dialog进入及退出动画 -->
    <item name="android:windowAnimationStyle">@style/animTranslate</item>
</style>
<style name="animTranslate" parent="Animation.AppCompat.Dialog">
    <item name="android:windowEnterAnimation">@anim/translate_in</item>
    <item name="android:windowExitAnimation">@anim/translate_out</item>
</style>

动画效果:
in:
在这里插入图片描述

out:
在这里插入图片描述
为什么会图文混排,我愿意 嘻嘻

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值