适用于Android Wear的自定义表盘

时间:2014-07-08 03:41:37

标签: android wear-os

Android Wear已经推出了一些包含自定义监视面(like this one)的应用程序。它们不仅仅是展示表盘的应用程序;它们是完全成熟的面孔,可在长按手表主屏幕时选择。我找不到有关如何设置应用以提供自定义面孔的任何文档。如何配置您的应用以提供面孔?

3 个答案:

答案 0 :(得分:18)

编辑 随着Android Wear到Lollipop的更新,Android Wear Watch Faces有一个全新的(更重要的是,官方)API。

您可以查看主题的blog post,阅读official documentationdownload the sample code

此行以下的所有内容仅供历史使用:)


您只需要提供具有特定intent-filter的Activity,并包含一些权限(来自here的信息)。

的活动:

<activity
    android:name=".WatchActivity"
    android:allowEmbedded="true"
    android:theme="@android:style/Theme.DeviceDefault.NoActionBar"
    android:label="@string/watch_preview_name">

    <meta-data
        android:name="com.google.android.clockwork.home.preview"
        android:resource="@drawable/watch_preview_image" />

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="com.google.android.clockwork.home.category.HOME_BACKGROUND" />
    </intent-filter>
</activity>

和权限:

<uses-permission android:name="com.google.android.permission.PROVIDE_BACKGROUND" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

顺便说一句,您在Play商店中提到的应用的源代码也是availabe on github


this G+ post by Sam Duke中很好地解释了包含WAKE_LOCK权限的原因。基本上,当手表变暗时,CPU进入低功率状态,因此不会立即显示对表盘显示的更新。每当需要更新屏幕时获取PARTIAL_WAKE_LOCK都可以解决此问题。


编辑 请注意,这是一个&#34;非正式的&#34; API,并且根据this post by Wayne Piekarski,当官方API发布时(将在Android Wear升级到L时发生),它可能会在未来中断。

答案 1 :(得分:4)

编辑以下是我的一篇新博文,解释了Lollipop中新的Watch Face API。

http://toastdroid.com/2014/12/10/developing-a-watch-face-for-android-wear-lollipop/


我写了一篇博客文章,描述了开发表盘的过程。

http://toastdroid.com/2014/07/18/developing-watchfaces-for-android-wear/

答案 2 :(得分:0)

如果您想使用OpenGL ES创建表盘,那么我们创建表面的经验将对您有用:

http://androidworks-kea.blogspot.com/2015/02/developers-notes-v-custom-watch-faces.html