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找到相应的值填写上去

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值