Activity类
private ImageView imageView=null;
private Button button=null;
private TextView textView=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView=(TextView) super.findViewById(R.id.Text);
imageView=(ImageView) super.findViewById(R.id.Image);
// imageView.setImageResource(R.drawable.mldn_portrait);
button=(Button) super.findViewById(R.id.Button);
button.setOnClickListener(new OnClickListener() {
//按钮点击实现切换
@Override
public void onClick(View v) {
if(MainActivity.this.getRequestedOrientation()==ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)
{
MainActivity.this.button.setText("错误: 不允许屏幕的切换!!!");
}else {
if(MainActivity.this.getRequestedOrientation()==ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
{
MainActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}else if(MainActivity.this.getRequestedOrientation()==ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {
MainActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
}
}
});
}
//实现屏幕切换 图片动态切换
@Override
public void onConfigurationChanged(Configuration newConfig) {
if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
{
MainActivity.this.button.setText("切换(当前是横屏)");
MainActivity.this.imageView.setImageResource(R.drawable.mldn_landscape);
}else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
MainActivity.this.button.setText("切换(当前是竖屏)");
MainActivity.this.imageView.setImageResource(R.drawable.mldn_portrait);
}
super.onConfigurationChanged(newConfig);
Log.e("FHT", "onConfigurationChanged:" + newConfig);
}
特别应该注意的地方
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.changescreen"
android:versionCode="1"
android:versionName="1.0"
>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
>
<activity
android:name="com.example.changescreen.MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" 默认的屏幕方向 竖向
android:configChanges="orientation|screenSize" >//屏幕的切换 触动onConfigurationChanged方法
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.persmission.CHANGE_CONFIGURATION" />//赋予权限
</manifest>
浙公网安备 33010602011771号