封装一个仿照iOS弹窗的控件,如果需要了解更多,请关注本可人儿的博客惹
需要自取,我懒得写注释
准备工具类:MsgDialog,它是将dialog进行操作的实体类
然后是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:
为什么会图文混排,我愿意 嘻嘻