2

我已經爲橫向模式創建了Android佈局資源文件,適用於所有不同的屏幕尺寸,例如小,大,中等和特大,但是,當我運行該應用程序時,它不起作用風景模式作爲按鈕的一半,圖像從屏幕上丟失。橫向屏幕取向不適用於Android Studios

我還在android Manifest文件中包含了下面這行代碼。

android:configChanges="orientation|screenSize|keyboardHidden" 

我已經將下面的內容包含在所有的活動java文件中,但仍然無法正常工作。

public void onConfigurationChanged(Configuration newConfig) { 
     super.onConfigurationChanged(newConfig); 

     if(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { 
      Toast.makeText(getApplicationContext(), "Portrait Mode", Toast.LENGTH_SHORT).show(); 
     }else if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE) { 
      Toast.makeText(getApplicationContext(), "Landscape Mode", Toast.LENGTH_SHORT).show(); 
     } 

Android確實將其切換到橫向模式,但屏幕中的元素顯示不正確。我創建了一個橫向佈局資源文件,但問題在於Android不使用此佈局,因爲它在縱向和橫向模式下使用相同的佈局。

請指教我如何讓Android知道何時使用橫向和縱向模式。

回答

2

使用這種在您的配置方法:

@Override 
    public void onConfigurationChanged(Configuration newConfig) { 
     super.onConfigurationChanged(newConfig); 
     Intent intent = getIntent(); 
     finish(); 
     startActivity(intent); 
    } 
+0

無法解析Consts和當前。請指教? –

+0

我編輯答案,這是關於我的活動有額外的。 –

4

更改此:

android:configChanges="orientation|screenSize|keyboardHidden" 

這樣:

android:configChanges="screenSize|keyboardHidden" 

隨着第一條語句,你基本上告訴機器人不重建屏幕旋轉時的活動!

+1

謝謝,這已經解決了我的問題。我犯的基本錯誤。感謝您的建議。 –

+0

如果我的答案幫助不要忘記接受它 –