通过全屏的dialog做浮层

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

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

1. 创建一个全屏的Theme


这里设置了全屏,没有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做浮层)