如何从TimeLayout标记设置timeOffset属性?

时间:2014-06-19 18:22:25

标签: android widget sony-smartwatch

<com.sonyericsson.extras.liveware.aef.widget.TimeLayout
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="0.5"
    android:background="@color/smart_watch_2_text_color_white"
    widgets:gravity="center"
    app:timeOffset="10800" >

    <!-- Defines the hour digits by using a TimeView the timeType to
    hours. -->
    <com.sonyericsson.extras.liveware.aef.widget.TimeView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:includeFontPadding="false"
        android:textColor="@android:color/black"
        widgets:textSize="match_parent"
        widgets:timeType="hours" />
</com.sonyericsson.extras.liveware.aef.widget.TimeLayout>

在索尼附加组件SDK版本3的ClockWidget示例中,当我尝试设置上面的timeOffset属性时,时钟正确显示小时,但是当我更改timeOffset并再次运行代码时,小时不是&#39 ; t更新,除非我在手机上卸载应用程序并再次运行。

那么,如何通过xml和扩展BaseWidget类的类中的代码正确更改timeOffset属性?

我正在尝试为SmartWatch 2开发

1 个答案:

答案 0 :(得分:0)

您可以创建尽可能多的xml布局,例如:

<com.sonyericsson.extras.liveware.aef.widget.TimeLayout
    widgets:timeOffset="-3600"

适用于时区-1小时,

<com.sonyericsson.extras.liveware.aef.widget.TimeLayout
    widgets:timeOffset="3600"

适用于时区+1小时等。然后,您需要动态更改时区,就是在java文件中切换布局。