添加权限
<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`方法,让开发者有机会在这个方法中处理布局调整或其他必要的变化。 #### 10. **WebView权限** - **知识点:** 使用WebView时需要添加`android.permission.INTERNET`权限。...
为了让悬浮窗能随屏幕旋转而保持位置,我们需要在`onConfigurationChanged()`方法中更新`LayoutParams`的宽高和位置。同时,为了处理设备休眠和唤醒,可能需要在`Service`中使用`WakeLock`防止设备自动休眠。 对于...
- 设置`android:configChanges=“orientation|screenSize”`意味着当屏幕方向或大小变化时,应用不会重新创建`Activity`,而是会执行`onConfigurationChanged()`方法。 - `onCreate()`方法会在`Activity`首次创建...
Android的Activity类提供了onConfigurationChanged()方法,用于检测并处理配置更改,如屏幕方向变化。开发者可以通过在AndroidManifest.xml中对特定Activity设置android:configChanges="orientation|screenSize"来...
这通常涉及到Android的配置更改(Configuration Changes),开发者可以通过重写onConfigurationChanged方法来处理屏幕旋转。 最后,由于压缩包中的代码可能需要自行调试和调整,这意味着这些代码可能是一个基础框架...
1. 本地播放:通过 `setDataSource()` 方法设置本地文件路径或资源ID: ```java mediaPlayer.setDataSource(context, Uri.fromFile(file)); // 本地文件 // 或者 mediaPlayer.setDataSource(context, R.raw.my_...
如果希望用户在特定情况下手动调用菜单,可以添加一个按钮,并在按钮的点击事件中触发`openOptionsMenu()`方法。 **示例代码:** ```java button.setOnClickListener(new View.OnClickListener() { @Override ...