在Android Studio中根据时间更改背景

时间:2018-09-04 18:08:43

标签: android background calendar

我想为我的活动提供不同的图像背景。背景随时间而变化。代码如下:

Calendar c = Calendar.getInstance();
        int timeOfDay = c.get(Calendar.HOUR_OF_DAY);

        ConstraintLayout homeLayout = findViewById(R.id.homelayout);

        if(timeOfDay >= 8 && timeOfDay < 16){

            homeLayout.setBackgroundResource(R.drawable.day);
        }else if(timeOfDay >= 16 && timeOfDay < 20){

            homeLayout.setBackgroundResource(R.drawable.dusk);

        }else if(timeOfDay >= 20 && timeOfDay < 4){

            homeLayout.setBackgroundResource(R.drawable.night);
        }else if(timeOfDay >= 4 && timeOfDay < 8){

            homeLayout.setBackgroundResource(R.drawable.pic);
        }

但是当我运行代码时,没有背景出现。

1 个答案:

答案 0 :(得分:0)

我正在发布自己的答案:

代码应更改为此:

if(timeOfDay >= 8 && timeOfDay < 16){

                    //day 

                }else if(timeOfDay >= 16 && timeOfDay < 20){

                    //afternoon

                }else if(timeOfDay >= 20 && timeOfDay < 24){

                    //night

                }else if(timeOfDay>=0 && timeOfDay<4){
                    //night
                }

                else if(timeOfDay >= 4 && timeOfDay < 8){

                    //dawn

                }

前一个晚上的if语句是(timeOfDay> = 20 && timeOfDay <4),这在数学上是不可能的。因此系统感到困惑。