ConstraintLayout布局
1.使用辅助线,设置成百分比,每个元件都对齐上下两根辅助线,左右铺满
竖屏
横屏
2.竖屏和横屏是可以分开单独布局的,以利于充分利用空间
秘密就在这里
竖屏
横屏
屏幕横竖屏切换及状态保存
当我们点击Button1后,上面显示的文本信息在横竖屏切换后会保存
竖屏
横屏
源码链接
ViewModel,另一种横竖屏切换数据保存方法,同时可用于Activity与Fragment之间,Fragment与Fragment之间数据的交互.
继承ViewModel类
public class MyViewModel extends ViewModel {
public int number=0;
}
使用
myViewModel= new ViewModelProvider(this).get(MyViewModel.class);
LiveData 解决了数据界面有变化自动刷新问题
XML界面里直接写代码,Data Binding
篮球比赛记分器例程
点击Home键,横竖屏切换,Activity销毁后状态保存又一方法
ViewModel中SavedStateHandle类
源码链接