Android之横屏竖屏显示问题

1.採用不同的布局文件

在res下创建目录layout-land

在该目录下写入的layout(xml文件)横屏的时候系统自己主动选择显示的layout 


同理:

在res下创建目录layout-port

在该目录下写入的layout(xml文件)即竖屏的时候系统自己主动选择显示的layout 


快捷创建方法:


res文件下
选中layout(目录)  Ctrl+C (复制)
选中res(目录) Ctrl +V(粘贴) 
创建layout-land横屏显示的layout
同理创建layout-port竖屏显示的layout


图片横屏竖屏
选中drawable-xhdpi Ctrl+C
选中res Ctrl + V
创建drawable-land-xhdpi
其它分辨率的也一样


字符串
values-land
values-port


另外:(layout目录也能够使用hdip,mdip等keyword命名如layout-hdip,layout-mdip)
依据分辨率不同显示不同的layout布局


2  强制横屏竖屏显示(不依据手机传感器调整)
在<activity 里面增加:
android:screenOrientation="Landscape"//横屏//portrait竖屏


注意:


在横屏竖屏切换过程中,Activity会被又一次创建
onCreate方法会又一次运行


假设没有id的组件如编辑框等则横屏填写的编辑框中的数据,写到一半后假设竖屏显示,
数据会丢失
谷歌解决方式:
假设拥有id
会在第一次创建Activity。运行完onCreate()方法之后把id组件中相应的值暂时保存存起来,
在旋转后再次创建Activity时
可是是在    运行完onCreate()方法之后!

!!!

运行完之后!

!!


依据id找到相应的值填写上去

原文地址:https://www.cnblogs.com/gccbuaa/p/7305740.html