2014-01-23 129 views
0

我想为纵向和横向定位不同的布局文件,所以我创建了新文件夹layout-land,将横向布局放置到此,纵向布局放置到普通布局文件夹。我的问题是使用android不同的布局资源

没有重新加载活动,只需要操作布局,以便所有在肖像中修改的视图都应该按照方向更改正确更改,但它调用的是每次更改屏幕方向时创建的活动方法。根据布局唯一文件保留更改。

请帮我实现这一点。

感谢

+0

选中此http://stackoverflow.com/questions/456211/activity-restart-on-rotation-android和http://stackoverflow.com/questions/3097909/android-orientation-change-calls-oncreate –

回答

0

喜请这样

@Override 
    public void onConfigurationChanged(Configuration newConfig) { 

     super.onConfigurationChanged(newConfig); 

     if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { 
      //your code 
     } else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
     //your code 
     } 
    } 

做到这一点的另一种解决方案可以在这里使用在AndroidManifest.xml folloing这个添加到活动:

android:configChanges="orientation|keyboardHidden" 

但不使用它的最佳实践!

请还行

http://xjaphx.wordpress.com/2011/09/19/the-less-known-over-screen-orientation/

访问 http://developer.android.com/reference/android/app/Activity.html#onConfigurationChanged%28android.content.res.Configuration%29

http://developer.android.com/guide/topics/resources/runtime-changes.html#HandlingTheChange

+0

感谢您的答复。当我尝试所有这些,但布局正在改变那很好,但在肖像我有一些改变了视图的可见性,然后改变景观,然后它呈现默认布局文件,但查看我改变肖像没有反映。我怎么能做到这一点? – user3173888

+0

对不起我的英语... – user3173888