我只是想做的事:如何根據當前屏幕方向設置活動內容?
if(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) setContentView(R.layout.search_portrait); else setContentView(R.layout.search_landscape);
的問題是 - getRequestedOrientation總是返回-1。
有什麼建議嗎?
我只是想做的事:如何根據當前屏幕方向設置活動內容?
if(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) setContentView(R.layout.search_portrait); else setContentView(R.layout.search_landscape);
的問題是 - getRequestedOrientation總是返回-1。
有什麼建議嗎?
如果你只是改變佈局,你應該真的考慮將你的肖像佈局放在/res/layout
和你的橫向佈局/res/layout-land
(同名),Android會自動選擇正確的佈局。
嘗試將android:screenOrientation="portrait"
或android:screenOrientation="landscape"
添加到此活動的清單中。這將是默認方向......這是因爲getRequestedOrientation
「」返回當前請求的活動方向,它可以是其組件清單中請求的方向,或最後請求的setRequestedOrientation方向(int) 」。
它必須正常工作,使用此
if(getResources().getConfiguration().orientation==Configuration.ORIENTATION_LANDSCAPE)
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
else
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setContentView(R.layout.main_activity);
而且也把景觀XML文件中
/RES /佈局土地
注:版式文件名必須是在所有佈局目錄中相同
ie
告訴我,這會也像一些奇怪的情況下工作:景觀帶QWERTY鍵盤,景觀大...所有相關鏈接中提到:http://books.google.com/books?id=QdcYzuQx0DYC&pg=PA212&lpg=PA212&dq=/res/layout-land&source=bl&ots=xKaskx_2JU&sig=NjWDE3msogiveEHG4L5HdNWO2yc&hl=zh-CN&ei=HUIuTPuFFMH_nQeI6LneAw&sa=X&oi=book_result&ct=result&resnum=2&ved = 0CBYQ6AEwAQ#v = onepage&q =%2Fres%2Flayout-land&f = false – kape123 2010-07-02 19:48:43
我還沒有嘗試過這種奇特的屏幕配置自己,但是,我相信它確實如此。 – Dave 2010-07-02 20:10:36
@ kape123是的,這將工作。 – yanchenko 2010-07-02 20:16:26