用Activity实现弹窗

1 篇文章 0 订阅
1 篇文章 0 订阅

其实用dialog是最方便的,但组长说不想在一个Activity里写太多代码,原来的代码已经很乱了。。。没办法,前人留下的代码的确有点多,新加的只能在另外的Activity里写了,而且,它在这个弹窗里加的操作也太多了吧,有谁会在一个弹窗里又加列表,又加viewPager又加按钮的?咱也不敢说,咱也不敢问。业务逻辑这里就不写了,简单记录一下自己用Activity实现的弹窗效果吧。

其实大家都是窗口,写起来也没什么复杂的,我这就是在AndroidManifest里单独给这个Activity设了一个主题,话不多说,直接上代码

<style name="DialogActivityTheme" parent="Theme.AppCompat.Dialog">
        <item name="windowNoTitle">true</item>
        <item name="android:windowBackground">@color/true_transparent</item>
<!--        悬浮会自动打开左右间隔,不方便实现点击空白关闭弹窗,所以设为false -->
        <item name="android:windowIsFloating">false</item>
<!--        半透明-->
        <item name="android:windowIsTranslucent">true</item>
</style>

还有在布局文件里,外层整一个相对布局RelativieLayout,里面先铺一层透明的view,再写你自己的界面,要多少间隔就设多少间隔

<?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">

    <View
        android:id="@+id/vOutside"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

    <!--    开始写你自己的布局-->
</RelativeLayout>

要实现点击消失的效果,就给vOutside这个版设一个点击事件,点击就退出Activity,方法简单粗暴,也没有考虑什么性能问题,好处就是可以整些花里胡哨的东西。

至于弹出效果,改一下跳转动画就好了

overridePendingTransition(0, R.anim.page_out);


没啥事还是建议用Dialog,官方都写好了,我们还造啥轮子呢。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值