android – 根据方向更改背景图像.

我有一个简单的问题似乎有两个简单的解决方案,这两个解决方案都不适合我,我似乎无法理解为什么.

我希望为我的布局设置纵向视图背景和备用横向背景.我将不同的图像分别放在单独的文件夹布局和布局 – 土地中.

肖像=它应该是什么
landscape =黑屏

然后我尝试制作一个名为drawable-land的文件夹,并在那里放置宽视图背景.
同样的结果.

去画像时是黑色的.

有什么东西我不见了?这看起来很简单,我无法理解我可能做错了什么.

提前致谢.

解决方法:

要以编程方式更改背景,具体取决于屏幕的方向:

     @Override
     public void onCreate(Bundle savedInstanceState){
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);

     LinearLayout linearLayout = (LinearLayout)findViewById(R.id.layout);
     Resources res = getResources();
     Drawable portrait = res.getDrawable(R.drawable.portrait);
     Drawable landscape = res.getDrawable(R.drawable.landscape);

     WindowManager window = (WindowManager)getSystemService(WINDOW_SERVICE);
     Display display = window.getDefaultDisplay();
     int num = display.getRotation();
     if (num == 0){
         linearLayout.setBackgroundDrawable(portrait);
     }else if (num == 1 || num == 3){
         linearLayout.setBackgroundDrawable(landscape);
     }else{
        linearLayout.setBackgroundDrawable(portrait);
     }
    }

尝试一下,我希望它有所帮助!

上一篇:Android屏幕方向更改在平板电脑上具有不同的行为


下一篇:android – 如何在更改方向时保持ViewFlipper中的当前视图