发布于 2016-02-17 21:26:04 | 178 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

Android移动端操作系统

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。


部分网友会发现Activity在切换到后台或布局从横屏LANDSCAPE切换到PORTRAIT,会重新切换Activity会触发一次onCreate方法,使用其他的方法同样可以实现
部分网友会发现Activity在切换到后台或布局从横屏LANDSCAPE切换到PORTRAIT,会重新切换Activity会触发一次onCreate方法,我们可以在androidmanifest.xml中的activit元素加入这个属性Android:configChanges="orientation|keyboardHidden" 即可,比如
<activity android:name=".android123" android:configChanges="orientation|keyboardHidden" android:label="@string/app_name">
Java代码
 
/* 声明Display对象,以取得屏幕宽高 */ 
final Display defaultDisplay = getWindow().getWindowManager() 
.getDefaultDisplay(); 

intScreenH = defaultDisplay.getHeight(); 
intScreenW = defaultDisplay.getWidth(); 

/* 如果为Landscape */ 
if (intScreenW > intScreenH) 
{ 
/* Landscape => Portrait */ 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
} else 
{ 
/* Portrait => Landscape */ 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
} 
/* 声明Display对象,以取得屏幕宽高 */ 
final Display defaultDisplay = getWindow().getWindowManager() 
.getDefaultDisplay(); 
intScreenH = defaultDisplay.getHeight(); 
intScreenW = defaultDisplay.getWidth(); 
/* 如果为Landscape */ 
if (intScreenW > intScreenH) 
{ 
/* Landscape => Portrait */ 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
} else 
{ 
/* Portrait => Landscape */ 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
} 

同时在Activity的Java文件中重载onConfigurationChanged(Configuration newConfig)这个方法,这样就不会在布局切换或窗口切换时重载onCreate等方法。代码如下:
Java代码
 
@Override 
public void onConfigurationChanged(Configuration newConfig) 
{ 
super.onConfigurationChanged(newConfig); 
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) 
{ 
//land 
} 
else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) 
{ 
//port 
} 
} 
@Override 
public void onConfigurationChanged(Configuration newConfig) 
{ 
super.onConfigurationChanged(newConfig); 
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) 
{ 
//land 
} 
else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) 
{ 
//port 
} 
} 


最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务