浮层是我们很多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的时候设置一下全屏