Sam*_*Sam 91 android screen-orientation android-button
我认为这是可实现的,因为屏幕旋转行为可以达到应用程序级别.
Har*_*ran 201
是的它是可实施的!
ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
Run Code Online (Sandbox Code Playgroud)
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Run Code Online (Sandbox Code Playgroud)
ActivityInfo
http://developer.android.com/reference/android/content/pm/ActivityInfo.html
参考链接:
Button buttonSetPortrait = (Button)findViewById(R.id.setPortrait);
Button buttonSetLandscape = (Button)findViewById(R.id.setLandscape);
buttonSetPortrait.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
});
buttonSetLandscape.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
});
Run Code Online (Sandbox Code Playgroud)
http://android-er.blogspot.in/2011/08/set-screen-orientation-programmatically.html
Phi*_*oda 35
是的,您可以随时以编程方式设置屏幕方向:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Run Code Online (Sandbox Code Playgroud)
分别用于横向和纵向模式.setRequestedOrientation()方法可用于Activity类,因此可以在Activity中使用它.
这就是你如何获得当前的屏幕方向并根据其当前状态充分设置它:
Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
final int orientation = display.getOrientation();
// OR: orientation = getRequestedOrientation(); // inside an Activity
// set the screen orientation on button click
Button btn = (Button) findViewById(R.id.yourbutton);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
switch(orientation) {
case Configuration.ORIENTATION_PORTRAIT:
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
break;
case Configuration.ORIENTATION_LANDSCAPE:
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
break;
}
}
});
Run Code Online (Sandbox Code Playgroud)
摘自此处:http://techblogon.com/android-screen-orientation-change-rotation-example/
编辑
此外,您可以使用以下方式获取屏幕方向Configuration
:
Activity.getResources().getConfiguration().orientation
Run Code Online (Sandbox Code Playgroud)
小智 21
如果可能,请不要使用SCREEN_ORIENTATION_LANDSCAPE或SCREEN_ORIENTATION_PORTRAIT.而是使用:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
Run Code Online (Sandbox Code Playgroud)
这些允许用户将设备分别定向到横向或纵向.如果你曾经不得不用充电线进入你的肚子来玩游戏,那么你就知道为什么同时拥有两个方向对用户来说很重要.
注意:对于手机,至少有几个我已经检查过,它只允许"正面朝上"的纵向模式,但是,SENSOR_PORTRAIT在平板电脑上正常工作.
注意:此功能是在API级别9中引入的,因此如果您必须支持8或更低(此时不太可能),请改为使用:
setRequestedOrientation(Build.VERSION.SDK_INT < 9 ?
ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE :
ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
setRequestedOrientation(Build.VERSION.SDK_INT < 9 ?
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT :
ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
Run Code Online (Sandbox Code Playgroud)
Sat*_*hya 19
使用此选项设置屏幕的方向:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
Run Code Online (Sandbox Code Playgroud)
要么
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Run Code Online (Sandbox Code Playgroud)
并且不要忘记将其添加到您的清单中:
android:configChanges = "orientation"
Run Code Online (Sandbox Code Playgroud)
工作代码:
private void changeScreenOrientation() {
int orientation = yourActivityName.this.getResources().getConfiguration().orientation;
if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
showMediaDescription();
} else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
hideMediaDescription();
}
if (Settings.System.getInt(getContentResolver(),
Settings.System.ACCELEROMETER_ROTATION, 0) == 1) {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
}
}, 4000);
}
}
Run Code Online (Sandbox Code Playgroud)
在您的按钮中单击调用此方法
归档时间: |
|
查看次数: |
122787 次 |
最近记录: |