一般在AndroidManifest.xml文件中都没有使用到android:configChanges="keyboardHidden|orientation"配置,当然还是很有用的哈

就是如果配置了这个属性,当我们横竖屏切换的时候会直接调用onCreate方法中的onConfigurationChanged方法,而不会重新执行onCreate方法,那当然如果不配置这个属性的话就会重新调用onCreate方法了,下面是测试

AndroidManifest.xml文件
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.test" android:versionCode="1" android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".TestActivity" android:label="@string/app_name" android:configChanges="keyboardHidden|orientation"> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
</activity>
</application></manifest>

main.xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" >
<TextView android:id="@+id/tv" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="横竖屏切换测试" />
<EditText android:layout_width="fill_parent" android:layout_height="wrap_content"
android:id="@+id/et"/>
</LinearLayout>

TestActivity.java文件
package com.test;
import android.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TextView;
public class TestActivity extends Activity
{
EditText et; TextView tv;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
et = (EditText) findViewById(R.id.et);
tv = (TextView) findViewById(R.id.tv);
System.out.println("我是onCreate方法");
}

@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
if(
newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){
tv.setText("横屏");
}
else{
tv.setText("竖屏");
}
}}


可以亲测一下,以验证我刚才说的结论“当在xml文件中配置了android:configChanges="keyboardHidden|orientation"属性,在横紧屏切换的时候不会重新执行Activity的onCreate方法,只是执行onConfigurationChanged方法,否则切换的时候会重新执行onCreate方法”

更多相关文章

  1. 继承Application实现Android数据共享
  2. linux挂载android 根文件系统的过程
  3. 编译Coco2d-x android 程序出现make: *** No rule to make targe
  4. Android中两种设置全屏的方法!!!
  5. android linux 基础知识总结(1)
  6. Android(安卓)OpenCV使用2_使用OpenCV并进行人脸检测
  7. Android中string转换成int
  8. Android(安卓)– 在Gradle中更改APK文件名
  9. Android(安卓)toolbar各类知识

随机推荐

  1. Android的string.xml文件中的特殊字符显
  2. Android Studio 导入so文件
  3. Android(安卓)动态申请存储权限
  4. 全屏显示问题
  5. Android总笔记(未全)
  6. Android -- WebView进度条
  7. Android下MP3播放器的实现源代码03
  8. android支付宝支付开发过程
  9. Android P FreeForm自由窗口模式简单实现
  10. Android PrefeneceActivity知识小结