Android强制锁定竖屏_App固定设置竖屏或横屏
很多时候我们在做Android开发的时候、由于各种原因、我们可能只会兼容竖屏、不会再做一套ui去适配横屏、那么这个时候我们就会让App应用固定为竖屏、本文会提供两种我在程序中使用的方法、希望对大家有用
1.Xml锁定横屏或竖屏
在没有设置屏幕方向的情况下会默认设置为:android:screenOrientation="unspecified"、即未指明屏幕方向、属性取值landscape为固定横屏、portrait为固定纵屏幕、会根据屏幕的方向做改变、在AndroidManifest.xml中配置、如果使某个Activity做横竖屏的变化、在Activity的标签中加入android:screenOrientation="portrait"、效果如下
<?xml version="1.0" encoding="utf-8"?> <manifest ... > <application ... > <activity android:name="com.jsl.gt.qhstudent.MainActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:theme="@android:style/Theme.Black.NoTitleBar" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
2、Java代码实现方式
手动变换资源文件等操作、即是因为屏幕变换后会再次重启而调用oncreate()、所以判断当前的屏幕为横或竖方向后更改资源文件即可实现、代码如下
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRequestedOrientation(ActivityInfo .SCREEN_ORIENTATION_LANDSCAPE);// 横屏 //setRequestedOrientation(ActivityInfo .SCREEN_ORIENTATION_PORTRAIT);//竖屏 setContentView(R.layout.main); }
屏幕会自动切换时、默认状态的应用程序、会重新调用onCreate、相当于重新启动了一次应用程序、同时、layout可能因为横屏带来不能合理适配的问题、为了解决旋屏和键盘切换引起的程序重启问题
还需要增加一个属性:android:configChanges、这个属性可以理解为一个监听器、它将拦截旋屏和键盘切换事件、阻止程序重启而变为回调onConfigurationChanged方法、这里常用的属性取值为:keyboardHidden|orientation
上一篇: Android手势监听上下左右滑动识别
下一篇: 2015小米的发展前景和战略以及现状如何