2017-08-31 132 views
-2

我對Android Studio和appmaking很陌生。我想知道當用戶將他的設備從肖像模式切換到風景時,如何更改背景顏色?在Andriod中更改方向時如何更改背景顏色?

例子:在縱向模式下 白色背景顏色, 綠色的背景顏色在橫向模式下,

+0

只需使用2個不同的佈局。一個用於橫向模式,另一個用於縱向模式。沒有比這更容易的了。 –

回答

1

變化onConfigurationChange

顏色
@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 

    // Checks the orientation of the screen 
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
     findViewById(R.id.mainLayout).setBackgroundColor(Color.GREEN); 
    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){ 
     findViewById(R.id.mainLayout).setBackgroundColor(Color.WHITE); 
    } 
} 
+0

這是否應該在我的.java文件中進行應用?或者它應該是在明顯的還是某種東西? – Matsson

+0

在你的java文件中,替換你的lauyout的R.id.mainlayout –

+0

我沒有在我的java文件中的任何地方的mainlayout? 這就是我得到的: http://imgur.com/a/QYB4j – Matsson

3

您可以爲「縱向」和「橫向不同的顏色「並使用相同的資源ID引用它們:

假設您有一個顏色資源,例如在res /價值/ colors.xml

<color name="my_background_color">#ffffff</color> 

這種顏色,如果沒有其他更具體的申報將作爲具有資源ID R.color.my_background_color的默認顏色。

爲了覆蓋設備方向「橫向」的默認值,您必須創建一個文件夾values-land作爲values的同級。在此文件夾,創建一個文件colors.xml和這個文件中:

<color name="my_background_color">#00ff00</color> 

然後用顏色作爲背景色爲您的佈局:

android:background="@color/my_background_color" 

參見Using configuration qualifiers