2015-04-03 82 views
1

我已经构建了一个以两种不同方式告诉时间的表盘。手表面具有当前时区的12小时格式和GMT格式的24小时格式。默认情况下,表盘只显示当前时区,这意味着我们的GMT时针实际上只是以24小时格式指示当前时区中的时间。如何让手表同时显示多个时区?如何在Android Wear表盘上显示多个时区

回答

0

您可以创建不同的时区2个日历对象,然后使用这个对象:

Calendar germanyTime = new GregorianCalendar(TimeZone.getDefault());//your timezone 
Calendar germanyTime = new GregorianCalendar(TimeZone.getTimeZone("GMT+0")); 
+0

感谢您指点我在正确的方向。我的代码应该在哪里应用? – skeete 2015-04-06 21:48:13

+0

这段代码演示的主要思想,你可以容纳2个独立的日历对象,并从不同的时区获取时间 – x90 2015-04-07 21:11:21

+0

我明白,但我没有主程序员,所以它对我来说有点陌生。大声笑 – skeete 2015-04-07 22:01:09

0

我会给你我是如何设法自动获得系统的时间格式的例子:

// variables 
boolean is24Hour = false; 
DateFormat df; 
Calendar cal; 

// get time format 
is24Hour = df.is24HourFormat(context); 

... 

@Override 
    public void onDraw(Canvas canvas, Rect bounds) { 
    // always get a new instance in your onDraw() 
     cal = Calendar.getInstance(); 

    // get the hours 
     if (is24Hour) { 
      format = new SimpleDateFormat("H"); 
      return Integer.valueOf(format.format(cal.getTime())); 
     } else { 
      format = new SimpleDateFormat("h"); 
      return (Integer.valueOf(format.format(cal.getTime())); 
     } 
    }