2014-01-23 170 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