Android的屏幕方向进行处理微调

我有一个活动,其中有一个微调。 因为对于纵向和横向模式我有不同的布局,使我改变布局onConfigurationChanged方法

@Override public void onConfigurationChanged(Configuration conf) { super.onConfigurationChanged(conf); setContentView(R.layout.layout); initUI(); }

但问题是,当我改变方向,我的微调被重建,所以如果微调是在纵向模式下,它亲近景观开放mode.My要求是:如果它是开放在任何模式下,它应该是朝向开放后change.can你请让我知道如何处理这种情况。

--------------解决方案-------------

尝试微调的performClick()方法

要停止再创造的微调,你可以在你的清单文件添加此

<activity android:name=".Activity_name"
android:configChanges="orientation|keyboardHidden">

但是,通过添加此布局不会自动当你旋转你的设备改变了,所以你必须来管理手动像这样,

@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){
setContentView(R.layout.login_landscape);
}
else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
setContentView(R.layout.login);
}
}

欲了解更多信息,您可以检查我的答案here

一旦方向的变化,破坏方法被调用,你的活动再次重新创建。 为了避免破坏方法被调用,你需要在manifest文件中添加以下代码。 但在这种情况下,只有一个布局可以使用,如果你想你的repostion内容,你需要做的是动态呢。

android:configChanges="orientation|keyboardHidden"

分类:安卓 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.414 (s). 10 q(s)