【问题标题】:How to change background with day/night time?如何根据白天/夜晚时间更改背景?
【发布时间】:2018-04-06 06:23:00
【问题描述】:

在我的应用程序中,我想用 Day/Night 时间更改背景。
我的意思是我想检查 time 如果时间是 nightdrawable 设置 night background 并且 time 是 Day > 设置日期背景来自drawable

对不起,我的问题很糟糕,我是一个业余爱好者,真的需要你的帮助。
我怎么能在android中做到这一点?

【问题讨论】:

  • 你知道你需要做什么吗?一步一步的解决方案?如果不是,那么您的问题就太宽泛了。

标签: java android time android-drawable localtime


【解决方案1】:

您可以使用类似这样的代码,通过指定您认为是早上的时间和您认为是晚上的时间。

我认为06:00 - 18:00 的时间是早上18:00 - 05:00 的时间是晚上。相应地更改它。

   Calendar calendar = Calendar.getInstance();
   int time = c.get(Calendar.HOUR_OF_DAY);

    if(time >= 6 && time < 18){

    image.setImageResource(R.drawable.morning);     

     }else if (time >= 18 && time < 6){

    image.setImageResource(R.drawable.night);

    }

编辑

正如@AxelH 所建议的,最好只指定其中一个时间(仅限早上或晚上)。代码类似于:

Calendar calendar = Calendar.getInstance();
   int time = c.get(Calendar.HOUR_OF_DAY);

    if(time >= 6 && time < 18){

    image.setImageResource(R.drawable.morning);     

     }else{

    image.setImageResource(R.drawable.night);

    }

【讨论】:

  • 那么05:00 -06:00 之间呢?只需使用if(time &gt;= 6 &amp;&amp; time &lt; 18){ ...} else { ...} 即可防止此类错误
  • @AxelH 是的,这是一种更好的方法。谢谢!
【解决方案2】:

请试试这个:

Calendar time = Calendar.getInstance();
int gettime  = time.get(Calendar.AM_PM);
if(Calendar.AM == gettime)
    Log.d("AM"+now.get(Calendar.HOUR));

【讨论】:

  • 感谢我亲爱的朋友的帮助。但我是业余爱好者。你能把完整的代码发给我吗?例如,我现在如何检查设置背景是白天还是晚上!请帮帮我
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-27
  • 2016-04-08
  • 1970-01-01
  • 2019-11-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多