Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-自定义背景图像_Android_Android Background - Fatal编程技术网

Android-自定义背景图像

Android-自定义背景图像,android,android-background,Android,Android Background,我想随机更改应用程序的背景。它应该有一个来自自己文件夹的随机图像作为背景。它在某些设备上工作得很好,但在某些设备上却不行。我想知道是什么导致这种不一致。这是我的随机背景生成器类: public class arkaplanGenerator { public static int arkaplan(){ int sonucArkaplan = 0; Random r = new Random(); int sayi = r.nextInt(11); switch

我想随机更改应用程序的背景。它应该有一个来自自己文件夹的随机图像作为背景。它在某些设备上工作得很好,但在某些设备上却不行。我想知道是什么导致这种不一致。这是我的随机背景生成器类:

public class arkaplanGenerator {
public static int arkaplan(){
    int sonucArkaplan = 0;
    Random r = new Random();
    int sayi = r.nextInt(11);
    switch (sayi){
        case 0:
            sonucArkaplan = R.drawable.bavaria;
            break;
        case 1:
            sonucArkaplan = R.drawable.gorges;
            break;
        case 2:
            sonucArkaplan = R.drawable.more;
            break;
        case 3:
            sonucArkaplan = R.drawable.mountains;
            break;
        case 4:
            sonucArkaplan = R.drawable.pisa;
            break;
        case 5:
            sonucArkaplan = R.drawable.sea;
            break;
        case 6:
            sonucArkaplan = R.drawable.sunset;
            break;
        case 7:
            sonucArkaplan = R.drawable.sunset2;
            break;
        case 8:
            sonucArkaplan = R.drawable.wai;
            break;
        case 9:
            sonucArkaplan = R.drawable.water;
            break;
        case 10:
            sonucArkaplan = R.drawable.waterfall;
            break;
    }
    return sonucArkaplan;
}
以下是我在主要活动中如何使用它:

 LinearLayout linearLayout = (LinearLayout)findViewById(R.id.activity_main);
 linearLayout.setBackground(getResources().getDrawable(arkaplanGenerator.arkaplan()));

这些图像位于drawable文件夹中。请提前感谢。

参考资料
类获取drawable的方法已被弃用。您应该使用
ContextCompat
中的一个:

linearLayout.setBackground(ContextCompat.getDrawable(getApplicationContext(),arkaplanGenerator.arkaplan()));

如果没有关于哪些设备存在问题以及哪些设备确实存在问题(堆栈跟踪?)的信息,几乎不可能为您提供帮助。不确定这是问题所在。不推荐并不意味着不工作。