Activity的使用(六):设置activity屏幕的方向
2014-03-12 22:51
120 查看
用setRequestedOrientation
package com.example.androidtest;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.widget.CompoundButton;
import android.widget.ToggleButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
public class AndroidTest extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_android_test);
ToggleButton toggle = (ToggleButton)findViewById(R.id.toggleButton);
if (getRequestedOrientation() != ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED) {
toggle.setChecked(true);
} else {
toggle.setChecked(false);
}
toggle.setOnCheckedChangeListener(listener);
}
OnCheckedChangeListener listener = new OnCheckedChangeListener()
{
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
int current = getResources().getConfiguration().orientation;
if (isChecked) {
switch(current) {
case Configuration.ORIENTATION_LANDSCAPE:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
break;
case Configuration.ORIENTATION_PORTRAIT:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
break;
default:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}
} else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}
}
};
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.android_test, menu);
return true;
}
}
package com.example.androidtest;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.widget.CompoundButton;
import android.widget.ToggleButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
public class AndroidTest extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_android_test);
ToggleButton toggle = (ToggleButton)findViewById(R.id.toggleButton);
if (getRequestedOrientation() != ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED) {
toggle.setChecked(true);
} else {
toggle.setChecked(false);
}
toggle.setOnCheckedChangeListener(listener);
}
OnCheckedChangeListener listener = new OnCheckedChangeListener()
{
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
int current = getResources().getConfiguration().orientation;
if (isChecked) {
switch(current) {
case Configuration.ORIENTATION_LANDSCAPE:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
break;
case Configuration.ORIENTATION_PORTRAIT:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
break;
default:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}
} else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}
}
};
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.android_test, menu);
return true;
}
}
相关文章推荐
- Activity设置全屏的两种方法,固定屏幕方向
- 使用扩展屏时设置鼠标切换到另一屏幕的方向
- Activity系列讲解---Activity运行时的屏幕方向,全屏,窗体模式的设置
- Unity3D研究院之设置自动旋转屏幕默认旋转方向
- fragment跳转fragment使用onActivityResult返回数据,但无法设置到fragment的textView中
- swift开发笔记5 - 设置屏幕方向和代码控制布局
- 使用GTK+获取屏幕分辨率并设置满屏显示效果
- Activity设置全屏以及Android获得屏幕的宽和高
- 基础知识记录:Activity屏幕方向的相关知识。
- 如何framework层任意设置Android屏幕的旋转方向
- 修改屏幕的旋转方向,使用与IPHONE以及IPad
- 设置屏幕方向
- 获得当前activity的屏幕方向
- quick-cocos2d-x 如何设置游戏的屏幕方向
- 在使用EditText进行文本输入时,若不进行特殊的设置,使用Android自带的软键盘,该软键盘会占用整个界面,那么,如何让键盘只占用屏幕的一部分呢?
- Android 开发知识 全屏幕设置及图形绘制的使用
- iOS开发中屏幕旋转至一个方向后再手动设置屏幕旋转至该方向无效问题
- 根据Activity启动时的屏幕方向,固定Activity的方向
- Activity在屏幕中的方向
- WM6设置及获取屏幕旋转方向