Java 为什么我的方向改变没有引起注意?
根据接受的答案,我将此代码添加到活动中,作为更改活动指定布局的第一步:Java 为什么我的方向改变没有引起注意?,java,android-manifest,android-orientation,onconfigurationchanged,android-configchanges,Java,Android Manifest,Android Orientation,Onconfigurationchanged,Android Configchanges,根据接受的答案,我将此代码添加到活动中,作为更改活动指定布局的第一步: @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // Checks the orientation of the screen if (newConfig.orientation == Configuration.ORIEN
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
setContentView(R.layout.activity_settings_landscape);
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
setContentView(R.layout.activity_settings);
}
}
…并修改了AndroidManifest.xml中的活动元素。e、 例如,将其更改为:
<activity
android:name="hhs.app.SettingsActivity"
android:label="@string/title_activity_settings" >
</activity>
…但是我还是没有反应,没有人在这里举杯,也没有OnConfiguration Changed事件。你试过了吗:android:configChanges=orientation | Screen Size | Keyboard Hiddeni现在试过了,但没什么区别。你用的是旧的emulator吗?请检查:我怀疑这是一个旧的仿真器,因为我在不久前安装了Droido Android Studio,但是我怎么知道仿真器是什么版本呢?@Heyyou-我可能没有,否则我会更新帖子,说明我是如何安装的。但这已经是一年多以前的事了,从那以后我就没有在Java/Android上工作过,我真的记不起来了。
<activity
android:name="hhs.app.SettingsActivity"
android:configChanges="orientation|keyboardHidden"
android:label="@string/title_activity_settings" >
</activity>
public class SettingsActivity extends ActionBarActivity {
private OrientationEventListener mOrientationListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
. . .
mOrientationListener = new OrientationEventListener(getApplicationContext()) {
@Override
public void onOrientationChanged(int orientation) {
Toast tostadaOrient = Toast.makeText(SettingsActivity.this,
orientation, Toast.LENGTH_SHORT);
tostadaOrient.setGravity(Gravity.CENTER, 0, 0);
tostadaOrient.show();
}
};
mOrientationListener.enable();
}