我正在开发一个应用程序,我需要在其中提供不同方向的不同活动的背景图像。所以我是这样接近的:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setLanguage();
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
// set background for landscape
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
// set background for portrait
}
}
和
android:configChanges="locale|orientation|screenSize"
并在onCreate()
我为纵向设置背景图像时假设用户将启动应用程序并保持纵向模式。
一切正常,因为当用户改变他们的模式,设置相应的背景等等。
但是,如果用户在手机处于横向模式时启动此应用程序,因为它在第一次启动时显示为纵向图像,正如我在用户将以纵向模式启动应用程序之前所假设的那样。
那么我该如何解决这个问题呢?一句话,为不同方向设置不同背景图像的最佳方法是什么?我在正确的轨道上吗?