我是Android Studio和appmaking的新手。我想知道如何在用户将设备从纵向模式切换到横向时更改背景颜色吗?
实施例: 肖像模式下的白色背景色, 横向模式下的绿色背景色,
答案 0 :(得分:3)
您可以为“纵向”和“横向”提供不同的颜色,并使用相同的资源ID引用它们:
假设你有一个颜色资源,例如在res / values / 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"
答案 1 :(得分: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);
}
}