设置活动的方向

偶尔地,你可能想要确保你的应用程序在某一个确定的方向上面显示,横屏模式或竖屏模式。例如,你可能会开发一款只在横屏模式下面运行的游戏。在这种情况下,可以通过编写代码,强制把Activity的方向设置为横向,这需要使用Activity类的setRequestOrientation()方法。

双击代码全选
1
2
3
4
5
6
7
8
9
10
import android.content.pm.ActivityInfo;    
@Override
public void onCreate(Bundle savedInstanceState) {    
     super .onCreate(savedInstanceState);    
     setContentView(R.layout.main);    
              
     // 设置为横屏模式    
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);    
              
}

如果想要设置为竖屏模式,可以使用ActivityInfo.SCREEN_ORIENTATION_PORTRAIT常量。

除了使用setRequestOrientation()方法,也可以在AndroidManifest.xml文件中进行设置。

双击代码全选
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<? xml version = "1.0" encoding = "utf-8" ?>    
< manifest xmlns:android = "http://schemas.android.com/apk/res/android"
     package = "net.learn2develop.Orientations"
     android:versionCode = "1"
     android:versionName = "1.0" >    
          
     < uses-sdk android:minSdkVersion = "14" />    
          
     < application
         android:icon = "@drawable/ic_launcher"
         android:label = "@string/app_name" >    
         < activity
             android:label = "@string/app_name"
             android:name = ".OrientationsActivity"
         <!-- 设置screenOrientation-->
             android:screenOrientation="landscape" >    
             < intent-filter >    
                 < action android:name = "android.intent.action.MAIN" />    
          
                 < category android:name = "android.intent.category.LAUNCHER" />    
             </ intent-filter >    
         </ activity >    
     </ application >    
          
</ manifest >

在之前的例子中,被包含的Activity被设置成了横屏模式,同时阻止了Activity被销毁。这是因为,Activity被设置成了固定的方向,当设备的方向改变时,Activity不会被销毁,onCreate()方法也就不会被调用。

下面是android:screenOrientation属性的另外两个可取的值:

portrait —— 竖屏模式

sensor —— 依据重力测试器去判断方向(默认值)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值