2012-12-17 49 views
1

我有一個簡單的活動與布爾值。當且僅當該布爾值爲假時(只有當屏幕改變方向時,我希望它從縱向變爲橫向)。鎖定屏幕上的配置更改肖像

我嘗試這樣做:

@Override 
    public void onConfigurationChanged(final Configuration newConfig) { 
     super.onConfigurationChanged((listening) ? getListeningConfiguration(newConfig) 
       : newConfig); 
     setContentView(R.layout.medidor); 
     preconfigureLayout(); 
    } 

    public Configuration getListeningConfiguration(final Configuration c) { 
     c.orientation = Configuration.ORIENTATION_PORTRAIT; 
     return c; 
    } 

但它是行不通的。

我該如何強制一個活動保持肖像狀態,除非我說它可以改變?

回答

4

只需撥打這個以保持其肖像:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

應該做的伎倆

+0

我在哪裏打電話給這個? – razielsarafan

+0

在你的'onCreate()'中,每當你改變主意鎖定方向 –

+0

非常感謝! – razielsarafan

5

在清單文件中活動的標籤添加

 android:configChanges="orientation|keyboardHidden" 
     android:screenOrientation="portrait" 

,將讓您的活動在肖像模式下。然後使用你的代碼來改變方向。

+0

他希望以編程的方式執行 –

+0

是的,靜態地執行它並不能解決我的需求。無論如何,感謝您的信息。 – razielsarafan