1

而回,我將我的應用程序,包括風景模式,從具有screenOrientation="portrait"這每一項活動:機器人集應用到人像只,除了當鍵盤拉出

 <activity 
     android:name="bundle.android.views.MainActivity" 
     android:configChanges="keyboardHidden|orientation|screenSize" 
     android:screenOrientation="fullSensor"> 

我也把手結構的變化只是罰款onConfigurationChanged在每個活動。

但事後看來,我只希望邊緣情況下彈出硬件鍵盤來獲取橫向模式。如何調整我的清單和代碼?

我是否保持某種組合android:configChanges? onConfigurationChanged類?洞察力讚賞

回答

1

一種選擇是以編程方式解決此問題。你可以做的是檢測用戶是否連接了硬件鍵盤,如果是的話強制方向進入橫向模式。這裏有兩種方法來檢測硬件鍵盤:

http://developer.android.com/reference/android/content/res/Configuration.html#keyboard

if (getResources().getConfiguration().hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) { 

} 

一旦檢測到用戶有一個硬鍵盤,你可以強制橫向模式與用戶:

myActivity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);