美文网首页
通过全屏的dialog做浮层

通过全屏的dialog做浮层

作者: ironman_ | 来源:发表于2017-07-26 00:18 被阅读0次

    浮层是我们很多app里常见的展示说明信息的部分

    • 为什么不用activity,activity会触发上一个activity的生命周期,太重量级了。
    • 当然也有些人用一个隐藏的view,等到显示浮层的时候再把它展示出来,这种会占用一些资源,虽然view不显示不会渲染但是也会占内存。

    1. 创建一个全屏的Theme

    <style name="my_tip_dialog" parent="android:Theme">
        <item name="android:windowFullscreen">false</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
    </style>
    

    这里设置了全屏,没有title,以及透明背景,透明背景是为了有些ui需要半透明的浮层。

    2. 然后创建一个dialog继承Dialog

    public class MyTipDialog extends Dialog {
    
       
        private Context context;
    
        private MyData myData;
    
    
        public CamelMileageTipDialog(@NonNull Context context, MyData myData) {
            super(context, R.style.pub_fw_Theme_Dialog_Router);//设置them
            this.context = context;
            this.myData = myData;
        }
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_NO_TITLE);//设置全屏
            setContentView(R.layout.atom_flight_dialog_camel_mileage_tips);
        }
    }
    
    • 在构造函数的时候设置我们刚刚创建的Theme
    • 在oncreate的时候设置一下全屏

    相关文章

      网友评论

          本文标题:通过全屏的dialog做浮层

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