Android - 自定义背景图片

时间:2017-02-01 13:45:48

标签: android android-background

我想随机更改我的应用背景。它应该有自己的文件夹中的随机图像作为背景。它与某些设备完美配合,但其中一些设备没有。我想知道什么可能导致这种不一致。这是我的随机背景生成器类:

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()));

这些图片都在可绘制的文件夹中。谢谢。

1 个答案:

答案 0 :(得分:0)

不推荐使用Resources类中的方法getDrawable。您应该使用ContextCompat中的一个:

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