以下是对手机切换横竖屏时的响应事件,在此用代码进行简单的演示。
package com.chen.demo.thing;
import android.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class ConfigActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_config);
//此时的生命周期会重新更新
Configuration configuration=getResources().getConfiguration();
//如果屏幕为横向
/*if(configuration.orientation==Configuration.ORIENTATION_LANDSCAPE){
Toast.makeText(this, "屏幕为横向",Toast.LENGTH_LONG).show();
setContentView(R.layout.activity_main2);
}else if(configuration.orientation==Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "屏幕为纵向",Toast.LENGTH_LONG).show();
setContentView(R.layout.activity_main2);
}*/
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
//此时的生命周期不会被销毁而重新构建
if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){
Toast.makeText(this, "屏幕为横向",Toast.LENGTH_LONG).show();
setContentView(R.layout.activity_main2);
}else if(newConfig.orientation==Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "屏幕为纵向",Toast.LENGTH_LONG).show();
setContentView(R.layout.activity_main2);
}
super.onConfigurationChanged(newConfig);
}
}