`

onConfigurationChanged方法监控系统更改事件

 
阅读更多

添加权限

 

<uses-permission
		android:name="android.permission.CHANGE_CONFIGURATION"></uses-permission>

 在manifest.xml中的activity中设置configuration的属性

 

<activity
			android:name=".ConfigChange"
			android:label="@string/app_name"
			android:configChanges="orientation|keyboard">
		</activity>

 代码,重写onConfigurationChanged方法

 

private Button button1;
	private int width;
	private int height;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.screen_change);

		button1 = (Button) findViewById(R.id.button1);

		button1.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {
				DisplayMetrics dm = new DisplayMetrics();
				getWindowManager().getDefaultDisplay().getMetrics(dm);
				width = dm.widthPixels;
				height = dm.heightPixels;
				if (width < height) {
					setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

				} else {
					setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
				}
			}

		});
	}

	public void onConfigurationChanged(Configuration newConfig){
		if(newConfig.orientation == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)toast("已切换为横屏");
		else{
			toast("已切换竖屏");
		}
		super.onConfigurationChanged(newConfig);
	}
	
	
	
	public void toast(String str) {
		Toast.makeText(ConfigChange.this, str, Toast.LENGTH_LONG).show();
	}
 



 

 

 

  • 大小: 30.7 KB
  • 大小: 28.2 KB
分享到:
评论

相关推荐

    系统设置更改事件onConfigurationChanged 信息处理

    在Android开发中,`onConfigurationChanged` 是一个关键的生命周期方法,用于处理应用程序在运行时因设备配置改变而触发的事件。系统配置包括但不限于屏幕方向(横屏或竖屏)、语言选择、键盘可用性等。当这些配置...

    Android笔记之:onConfigurationChanged详解

    首先,`onConfigurationChanged` 方法是 `Activity` 类的一个回调方法,当设备的配置发生改变时,如屏幕方向的切换(横屏到竖屏或反之)、系统语言的更改、键盘的展开或收起等,系统会调用这个方法,而不是重新创建 ...

    疯狂安卓讲义第2章

    4. **Intent和Intent Filter**:理解Intent的作用,如何用它来启动活动和服务,以及定义Intent Filter来响应特定的事件或请求。 5. **数据持久化**:学习使用SharedPreferences、SQLite数据库以及文件存储来保存应用...

    android设置系统语言

    更改系统语言涉及修改`Configuration`对象并更新系统设置。这通常需要具有系统级别的权限,因此在普通应用中是不允许的。但可以通过创建自定义的系统设置界面或使用第三方库来模拟此操作。例如,可以使用以下代码...

    Android屏幕旋转

    这样,当配置变化时,系统不会默认销毁Activity,而是调用`onConfigurationChanged(Configuration newConfig)`方法,让开发者自行处理配置变化。 5. **自定义屏幕旋转处理**: 在`onConfigurationChanged()`方法中...

    android 事件处理

    开发者可以通过重写Activity的onConfigurationChanged方法来处理配置更改事件,或者注册BroadcastReceiver来监听系统广播,如网络连接状态的改变。 4. **Handler消息传递机制**:Handler是Android中用于线程间通信...

    android中的事件处理

    6. 系统事件:如配置改变(onConfigurationChanged()),屏幕旋转等。 7. 滚动事件:ScrollView、ListView等控件的OnScrollListener监听滚动行为。 8. 拖放事件:DragEvent和DragListener处理拖放操作。 9. 生命周期...

    Android的事件处理机制

    - **监听系统设置变化**:通过重写`onConfigurationChanged(Configuration newConfig)`方法来响应系统设置的变化。 #### 五、总结 本文详细介绍了Android中的两种主要事件处理方式:基于监听的事件处理和基于回调...

    Android 系统语言切换监听和设置实例代码

    当系统配置更改时,如屏幕方向、语言等,该方法会被调用。通过在`AndroidManifest.xml`文件中为对应的`Activity`设置`android:configChanges`属性,可以避免`Activity`被重新创建,而是调用`onConfigurationChanged`...

    java for android

    还会讨论触摸事件处理和动画效果。 6. **数据存储**:介绍Android中的数据存储选项,如SQLite数据库、SharedPreferences、文件系统以及网络存储。 7. **网络编程**:讲解如何在Android应用中实现网络通信,包括...

    android应用内和系统设置两种设置多语言国际化

    - 当用户在系统设置中更改语言时,Android会自动应用到所有应用。无需开发者进行额外处理,只要你的应用遵循了正确的资源结构,Android系统就能正确加载对应的语言资源。 - 不过,为了确保应用在语言切换后能够...

    Android面试题整理精编版.doc

    如果设置 android:configChanges="orientation|keyboardHidden" 时,切屏不会重新调用各个生命周期,只会执行 onConfigurationChanged 方法。 5. 如何将一个 Activity 设置成窗口的样式 可以自定义一个 Activity ...

    android面试宝典.doc

    * 如果设置 android:configChanges="orientation|keyboardHidden",屏幕方向改变时 Activity 不会被重新创建,只会执行 onConfigurationChanged 方法。 五、将 Activity 设置成窗口的样式 * 可以使用 android:...

    Activity生命周期源代码

    - `onConfigurationChanged(Configuration newConfig)`用于处理配置更改,如屏幕方向变化,而无需重新创建Activity。 - `onLowMemory()`通知开发者系统内存紧张,可以在这里释放不必要的资源。 通过深入研究...

    屏幕旋转180度 activity旋转180度 源代码

    这段代码告诉系统,当屏幕方向或尺寸变化时,不要销毁Activity,而是调用`onConfigurationChanged()`方法。 2. `onConfigurationChanged()` 方法: 在Activity中重写`onConfigurationChanged()`方法,以在屏幕旋转...

    Android 事件触发机制的深入学习

    5. 处理屏幕旋转事件:在 onConfigurationChanged 方法中处理屏幕方向改变的事件。 六、Android 事件触发机制的优点 Android 事件触发机制的优点包括: 1. 提高用户体验:Android 事件触发机制可以帮助开发者创建...

    app内部修改语言

    如果不想手动处理`onConfigurationChanged()`,可以使用`recreate()`方法强制重启Activity,让系统自动处理资源更新。 6. **测试语言切换**: 在真机或模拟器上测试语言切换,可以通过设置系统偏好来快速改变设备...

    android在移动应用中判断横向和竖向方向的改变.docx

    这样,当设备方向发生变化时,系统不会默认重启Activity,而是调用`onConfigurationChanged(Configuration newConfig)`方法。在该方法内,可以通过`newConfig.orientation`来判断当前是横屏(`Configuration....

    Android Zxing 源码修改

    这可以通过重写`onConfigurationChanged()`方法并处理相关逻辑来实现,或者在AndroidManifest.xml中为对应的Activity设置`android:configChanges="orientation|screenSize"`,避免系统默认的Activity销毁和重建。...

Global site tag (gtag.js) - Google Analytics