在android studio中根据时间更改背景
我想为我的活动提供不同的图像背景。背景随时间而变化。代码如下:在android studio中根据时间更改背景,android,background,calendar,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
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);
}
Calendar c=Calendar.getInstance();
int timeOfDay=c.get(日历小时);
ConstraintLayout homeLayout=findViewById(R.id.homeLayout);
如果(timeOfDay>=8&&timeOfDay<16){
家庭布局.挫折背景资源(R.可绘制.日);
}否则如果(时间间隔>=16和时间间隔<20){
家庭布局。挫折背景资源(R.可绘制。黄昏);
}否则,如果(时间间隔>=20和时间间隔<4){
家庭布局。挫折资源(R.可绘制。夜间);
}如果(timeOfDay>=4&&timeOfDay<8){
家庭布局。挫折背景资源(R.drawable.pic);
}
但是当我运行代码时,没有背景显示 我正在发布我自己的答案: 代码应更改为:
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>=8&&timeOfDay<16){
//一天
}否则如果(时间间隔>=16和时间间隔<20){
//下午
}否则,如果(时间间隔>=20和时间间隔<24){
//夜
}否则如果(timeOfDay>=0&&timeOfDay=4&&timeOfDay<8){
//黎明时分
}
前一个夜间if语句是(timeOfDay>=20&&timeOfDay<4),这在数学上是不可能的。因此,系统变得混乱。此代码相对于
家庭布局而言看起来是正确的。下一个问题是,“设置背景是否正确?”请发布您的布局XML和活动代码。