您的位置:首页 > 移动开发 > Android开发

android 学习随笔(屏幕的横屏和竖屏)

2014-09-03 11:34 183 查看
1、有关android中横屏和竖屏的值:

在某些场合可能需要禁止横屏和竖屏切换,实现这个要求很简单,

只要在AndroidManifest.xml里面加入这一行 android:screenOrientation="landscape"(landscape 是横向,portrait 是纵向)。

不过android中每次屏幕的切换都会重启Activity,所以要在Activity销毁前保存当前活动的状态,在Activity再次创建Create的时候载入配置。

在Activity加上android:configChanges="keyboardHidden|orientation"属性,就不会重启activity.

而是去调用onConfigurationChanged(ConfigurationnewConfig).


@Override
public void onConfigurationChanged(ConfigurationnewConfig) {
try {
super.onConfigurationChanged(newConfig);
if(this.getResources().getConfiguration().orientation ==Configuration.ORIENTATION_LANDSCAPE) {
// land
} else if(this.getResources().getConfiguration().orientation ==Configuration.ORIENTATION_PORTRAIT) {
// port
}
} catch (Exception ex) {
}
}


2、常见设置屏幕方向:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置成全屏模式



setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE););//强制为横屏

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏


requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏

设置屏幕显示模式ScreenOrientation.

在activity里设置android:screenOrientation的值。

android:screenOrientation的属性有以下值:


unspecified(默认值,由系统判断状态自动切换)
landscape,横屏
portrait,竖屏
user(用户当前设置的orientation值)
behind(下一个要显示的Activity的orientation值)
sensor(传感器的方向)
nosensor(不使用传感器,这个效果差不多等于unspecified).

获得当前屏幕宽高的方法.

Display display = getWindowManager().getDefaultDisplay();

Config.screenWidth = display.getWidth();//宽度

Config.screenHeight = display.getHeight()//;高度
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: