Android之横屏竖屏显示问题

时间:2023-03-09 07:09:05
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找到相应的值填写上去