Android折叠屏生命周期
(第一次在CSDN上写文章,随便写写,记录一下)
如今随着手机的发展,屏幕从分屏甚至走上了折叠屏的道路,即将推出的谷歌Android Q系统更是支持了折叠屏,但苦于手头没有Android Q系统的手机,目前只能通过AndroidStudio 3.5 preview(预览版)的AVD模拟器来探究一下折叠屏的生命周期。
1.以7.3 Foldable API Q的模拟器模拟7.3寸1536*2152分辨率为例,日志中屏幕折叠时生命周期:
onPause()–>onStop()–>onDestroy()–>onCreate()–>onStart()–>onResume()
页面重建,分辨率发生变化,布局会发生比例改变
2.如果想禁止Activity销毁重建,则需要在AndroidManifest中对Activity的configChanges进行如下的配置:
android:configChanges=“screenSize|smallestScreenSize|screenLayout”
此时的生命周期,仅走onConfigurationChanged()
3.可在onConfigurationChanged()中通过
DisplayMetrics outMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(outMetrics);
int widthPixels = outMetrics.widthPixels;
int heightPixels = outMetrics.heightPixels;
Log.i(“TagActivity–”, "widthPixels = " + widthPixels + ",heightPixels = " + heightPixels);
记录变化后的像素宽高大小,便于适配判断
- 适配建议
布局适配当以动态根据屏幕分辨率来摆放控件,当横屏空间不够时,可以用ScrollView嵌套一个相对布局RelativeLayout及它之内的控件,方便功能的使用。