fer*_*tar 46
你有几个选择:
使用OrientationEventListener,它有一个名为onOrientationChanged的方法.
使用配置更改:
在你的清单中,放:
<activity android:name=".HelloAndroid"
android:label="@string/app_name"
android:configChanges="orientation">
Run Code Online (Sandbox Code Playgroud)
并且,在代码中,重写onConfigurationChanged
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
int newOrientation = newConfig.orientation;
if (newOrientation == Configuration.ORIENTATION_LANDSCAPE) {
// Do certain things when the user has switched to landscape.
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个很好的教程.
Hua*_*ang 17
在您的活动中,您可以覆盖此方法以收听Orientation Change并实现您自己的代码.
public void onConfigurationChanged (Configuration newConfig)
Run Code Online (Sandbox Code Playgroud)
该Configuration班有一个整型常量ORIENTATION_LANDSCAPE和ORIENTATION_PORTRAIT,在那里你可以检查NEWCONFIG是这样的:
super.onConfigurationChanged(NEWCONFIG);
int orientation=newConfig.orientation;
switch(orientation) {
case Configuration.ORIENTATION_LANDSCAPE:
//to do something
break;
case Configuration.ORIENTATION_PORTRAIT:
//to do something
break;
}
Run Code Online (Sandbox Code Playgroud)
从Android 3.2开始,您还需要在androidmanifest中为特定活动添加" screenSize "
所以xml中的活动声明将成为
<activity android:name=".ExampleActivity"
android:label="@string/app_name"
android:configChanges="orientation|screenSize">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27102 次 |
| 最近记录: |