{"id":229125,"date":"2024-06-06T20:03:25","date_gmt":"2024-06-06T20:03:25","guid":{"rendered":"https:\/\/michigandigitalnews.com\/index.php\/2024\/06\/06\/latest-updates-for-watch-faces-on-wear-os\/"},"modified":"2025-06-25T17:17:44","modified_gmt":"2025-06-25T17:17:44","slug":"latest-updates-for-watch-faces-on-wear-os","status":"publish","type":"post","link":"https:\/\/michigandigitalnews.com\/index.php\/2024\/06\/06\/latest-updates-for-watch-faces-on-wear-os\/","title":{"rendered":"Latest updates for watch faces on Wear OS"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div>\n<meta content=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEibpYRGAkvsh42mIKih7bDybTCEShrMpnynAVSYzsLM-h69E1VciXLjEClQmQPpjMh4jNSugnv_X5jK6IvQ2S084BGT30ntENT-Jo8eowN4-fQ8Tm-iBw90AMmaWWIY7NJo75BaixNFeYep-tK0WOVK6vlZvv9VK15Q4ezSLsxqCbEJ7v4lB89rHixMNxc\/s1600\/Wear-OS-Metadata%20%281%29.png\" name=\"twitter:image\"\/><br \/>\n<img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEibpYRGAkvsh42mIKih7bDybTCEShrMpnynAVSYzsLM-h69E1VciXLjEClQmQPpjMh4jNSugnv_X5jK6IvQ2S084BGT30ntENT-Jo8eowN4-fQ8Tm-iBw90AMmaWWIY7NJo75BaixNFeYep-tK0WOVK6vlZvv9VK15Q4ezSLsxqCbEJ7v4lB89rHixMNxc\/s1600\/Wear-OS-Metadata%20%281%29.png\" style=\"display: none;\"\/><\/p>\n<p><em>Posted by Anna Bernbaum \u2013 Product Manager, and Garan Jenkin \u2013 Developer Relations Engineer<\/em><\/p>\n<p><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjxg_vliOSBSrVD21GAPYqBOS-lvZaS6sRxZzeotAOJlpLKK8-M8BdoLIqoDqlpLVeDOFfJCaVcHIE0yl5Dx229I5h7-Osmr5a7C7HSESZcMkaJLDamZIJyAYG4cKnJufMSJ8RLggQKi_KKd-zWy0YG4N3JU9VqKKIxNJlg9wOupjjlq5QBo9Kml9B4Z-I\/s1600\/IO24_BlogHeaders_3x1-11%20%281%29.png\"><img decoding=\"async\" border=\"0\" data-original-height=\"800\" data-original-width=\"1058\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjxg_vliOSBSrVD21GAPYqBOS-lvZaS6sRxZzeotAOJlpLKK8-M8BdoLIqoDqlpLVeDOFfJCaVcHIE0yl5Dx229I5h7-Osmr5a7C7HSESZcMkaJLDamZIJyAYG4cKnJufMSJ8RLggQKi_KKd-zWy0YG4N3JU9VqKKIxNJlg9wOupjjlq5QBo9Kml9B4Z-I\/s1600\/IO24_BlogHeaders_3x1-11%20%281%29.png\"\/><\/a><\/p>\n<p>At last year\u2019s Google I\/O, we launched the <a href=\"https:\/\/android-developers.googleblog.com\/2023\/05\/introducing-watch-face-format-for-wear-os.html\" target=\"_blank\" rel=\"noopener\">Watch Face Format<\/a> for Wear OS. This year, as part of our continued partnership with Samsung, we are excited to share some new features that you can use to create exciting new watch face designs! These features are now supported in XML definitions, and later in the year, you\u2019ll also see an update to <a href=\"https:\/\/developer.samsung.com\/watch-face-studio\/user-guide\/index.html\" target=\"_blank\" rel=\"noopener\">Watch Face Studio<\/a> to take advantage of them.<\/p>\n<p>The <a href=\"https:\/\/developer.android.com\/training\/wearables\/wff\" target=\"_blank\" rel=\"noopener\">Watch Face Format<\/a> is the recommended way to create watch faces for Wear OS. The format makes it easier to create customizable and more power-efficient watch faces for devices that run Wear OS 4 or higher. The Watch Face Format is a declarative XML format, so there is no executable code involved in creating a watch face, and there is no code embedded in your watch face APK.<\/p>\n<p>Additionally, in our move toward the Watch Face Format for watch face creation, we have also made some changes to watch face development.<\/p>\n<h3>New features in the Watch Face Format<\/h3>\n<h4 style=\"text-align: left;\"><span style=\"font-size: large;\">Flavors<\/span><\/h4>\n<p>\nFlavors represent preset configurations for your watch face, available in the companion app:<\/p>\n<p><image><\/p>\n<div style=\"text-align: center;\"><img fetchpriority=\"high\" decoding=\"async\" alt=\"Watch gallery\" border=\"0\" height=\"203\" id=\"imgCaption\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgGg_jVQlOmPhrXCrPfsfg5F38A0ItQLDrjpEsDej17IQjCG8qLbyq_ZISml-g_97MmcYXW11kkkD3j3P-W5qsB0oHxZifdfC2aXDNXdqlv6siBzFZIJHjcTHdDvcsW69weHyqwINDZEy8LSYrJyLl2v6zp18S-xEmYP8qJL3K5OoeIJuLrw73Lga_opEM\/s1600\/Frame%201321317369.png\" width=\"400\"\/><\/div>\n<p><\/image><\/p>\n<p>\nThey allow the watch face developer to configure useful and attractive combinations of the watch face\u2019s configuration options, and allow the user to visualize and select from these with ease.\n<\/p>\n<p>\nWe\u2019ve now brought flavors to the Watch Face Format. For a full guide on adding them to your watch face, see the <a href=\"https:\/\/developer.android.com\/training\/wearables\/wff\/user-configuration\/flavor\" target=\"_blank\" rel=\"noopener\">flavors reference<\/a>.\n<\/p>\n<h4 style=\"text-align: left;\"><span style=\"font-size: large;\">Complications<\/span><\/h4>\n<p>\nWe\u2019re adding support for both \u201cgoal progress\u201d and \u201cweighted elements\u201d complication types to the Watch Face Format:\n<\/p>\n<p><image><\/p>\n<div style=\"text-align: center;\"><img decoding=\"async\" alt=\"circle chart with data saying 60% of goal progress and weight elements circle chart\" border=\"0\" id=\"imgCaption\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiwyxCwLa1X1YFp7qnWv45NWnmkmSRgVw9C-BGcSWwpPWTLnCnawIQTY9cKBio1yUvIitFPvZKSDOUyx3sVAipNIxc3hFdXmJ9kfdgpOSIkXNeP2WoNDUzO7mBYI20wa08CGgsEsjMXU7aSn5SK4qrYDGQq-JRlVvvDhCfunmVIyD6nNOiWPIu9Oo97qOs\/s1600\/image2%20copy.png\" width=\"100%\"\/><\/div>\n<p><\/image><\/p>\n<ul>\n<ul>\n<li><strong>Goal progress<\/strong> is perfect for data where the user has a target, but that target can be exceeded. A good example is step count.<\/li>\n<li><strong>Weighted elements<\/strong> can represent discrete subsets of data, showing their relative sizes, where you might otherwise use something like a pie chart.<\/li>\n<\/ul>\n<\/ul>\n<p>\nBoth of these complication types can be accessed through the <span style=\"color: #0d904f; font-family: courier;\">[COMPLICATION.*]<\/span> expression object. For full details, see the <a href=\"https:\/\/developer.android.com\/training\/wearables\/wff\/complication\/complication\" target=\"_blank\" rel=\"noopener\">complication guidance<\/a>.\n<\/p>\n<h4 style=\"text-align: left;\"><span style=\"font-size: large;\">Weather<\/span><\/h4>\n<p>\nKnowing at-a-glance what the weather will be like for the next hour, day, and beyond can make all the difference to a user\u2019s plans! Unsurprisingly, having weather data as a data source in the Watch Face Format has been a common request, and we\u2019re delighted to be able to introduce it in this latest version. You\u2019ll now be able make watch faces like this:\n<\/p>\n<p> <image><\/p>\n<div style=\"text-align: center;\"><img decoding=\"async\" alt=\"circle chart with data saying 60% of goal progress and weight elements circle chart\" border=\"0\" height=\"307\" id=\"imgCaption\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEh8LphnWbeAPiNTdFb1LAcZyKfTYiD7qrIn2w2z1eYx6JcuMxHXZx_wuJTT4auMOnTOHrxXMcrcvm6838feLDm5GW7o5R5aTBraO6oeRG29m9SHaRL6qsKoe-0n8dPPnGkGsajDDZf6P9Ba5aEt-h3JRWEf1-4Co25gxMixwg3WnN3Usr87TPcq3DciyPE\/w320-h307\/image3.png\" width=\"320\"\/><\/div>\n<p><\/image><\/p>\n<p><b>Weather Basics<\/b><\/p>\n<p>\nWeather in the Watch Face Format is accessed via the <span style=\"color: #0d904f; font-family: courier;\">[WEATHER.*]<\/span> expression object. You can use it in <span style=\"font-family: courier;\"><a href=\"https:\/\/developer.android.com\/training\/wearables\/wff\/common\/condition\" target=\"_blank\" rel=\"noopener\">Condition<\/a><\/span> and text <span style=\"font-family: courier;\"><a href=\"https:\/\/developer.android.com\/training\/wearables\/wff\/group\/part\/text\/formatter\/template\" target=\"_blank\" rel=\"noopener\">Template<\/a><\/span> statements and anywhere where expressions are supported.<\/p>\n<p>For example, to show the current weather condition, use this template and expression:<\/p>\n<div style=\"background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; overflow: auto; width: auto;\">\n<pre style=\"line-height: 125%; margin: 0px;\"><span style=\"font-family: courier;\"><span><template>Current weather conditions: %s\n    <parameter expression=\"&lt;\/span\">\"[WEATHER.CONDITION_NAME]\"\/&gt;\n<\/parameter><\/template><\/span>\n<\/span><\/pre>\n<\/div>\n<p>The weather provider in the Watch Face Format supports a range of different metric types for the current day, including the following:<\/p>\n<ul>\n<ul>\n<li>Current conditions<\/li>\n<li>Temperature &#8211; current, minimum (low), and maximum (high)<\/li>\n<li>UV index<\/li>\n<li>Chance of rain<\/li>\n<\/ul>\n<\/ul>\n<p>For the full range of data types and conditions, <a href=\"https:\/\/developer.android.com\/training\/wearables\/wff\/weather\" target=\"_blank\" rel=\"noopener\">see the weather guide<\/a>.<\/p>\n<p><b>Forecasts<\/b><\/p>\n<p>In addition to the current weather, you can access forecast data, both by hour and by day. For example, to access the forecast maximum temperature for tomorrow, use a template and set of expressions similar to the following:<\/p>\n<div style=\"background: rgb(255, 255, 255); border: 0px; overflow: auto; width: auto;\">\n<pre style=\"line-height: 125%; margin: 0px;\"><span style=\"font-family: courier;\"><span><template>Tomorrow max temp: %d\u00b0%s\n    <parameter expression=\"[WEATHER.DAYS.1.TEMPERATURE_HIGH]\"> \/&gt;\n    <parameter expression=\"[WEATHER.TEMPERATURE_UNIT] == 1 ? &quot;C&quot; : &quot;F&quot;\"\/>\n<\/parameter><\/template><\/span><\/span><\/pre>\n<\/div>\n<p>\nWhen using weather in the Watch Face Format, there are some further details to be aware of, such as checking for forecast availability or loading errors. For all of this and more, <a href=\"https:\/\/developer.android.com\/training\/wearables\/wff\/weather\" target=\"_blank\" rel=\"noopener\">take a look at the weather guide<\/a>.\n<\/p>\n<h3>Changes to Watch Face development<\/h3>\n<p>As we gather momentum behind the Watch Face Format, we\u2019re announcing some changes to existing watch face development options.<\/p>\n<p>We announced recently that <a href=\"https:\/\/developer.android.com\/training\/wearables\/watch-faces\/adding-complications#most-data-sources-require-wff\" target=\"_blank\" rel=\"noopener\">only some complications will be available on Wear OS 5<\/a>, for watch faces built with AndroidX or the Wearable Support Library. <strong>This restriction does not apply to watch faces that use the Watch Face Format.<\/strong><\/p>\n<p>Additionally, starting in early 2025 (specific date to be announced in Q4 2024), all new watch faces published on Google Play must use the Watch Face Format. Existing watch faces that use other libraries, such as AndroidX or the Wearable Support Library, can continue to receive updates without transitioning to the new format.<\/p>\n<h3>New resources<\/h3>\n<p>To make it easier to create watch faces using the Watch Face Format, we\u2019ve <a href=\"https:\/\/github.com\/google\/watchface\" target=\"_blank\" rel=\"noopener\">published some more resources<\/a> on GitHub.<\/p>\n<p>You now have full access to the XSD specification, to help you build your own watch face generating tools.<\/p>\n<p>We\u2019ve also provided validators to check your XML for correctness and memory usage. These are the same checks run by Google Play, so it allows you to run these checks even before you submit your watch face for publishing.<\/p>\n<h3>Learn more<\/h3>\n<p>\n<a href=\"https:\/\/developer.android.com\/training\/wearables\/wff\/setup\" target=\"_blank\" rel=\"noopener\">Get started<\/a> with the latest version of the Watch Face Format.\n<\/p>\n<p>\nBe sure to check out <a href=\"https:\/\/io.google\/2024\/explore\/19faa1a5-5b4f-4e7a-ac06-8564a5a324af\/\" target=\"_blank\" rel=\"noopener\">Building for the future of Wear OS<\/a> technical session and <a href=\"https:\/\/android-developers.googleblog.com\/2024\/05\/whats-new-in-wear-os-io-24.html\" target=\"_blank\" rel=\"noopener\">What\u2019s new in Wear OS at I\/O 2024<\/a> blog post to learn more about all the latest updates for Wear OS!\n<\/p>\n<p>Code snippets license:<\/p>\n<div style=\"background: rgb(255, 255, 255); border: 0px; overflow: auto; width: auto;\">\n<pre style=\"line-height: 125%; margin: 0px;\"><span style=\"font-family: courier;\">Copyright <span style=\"color: #6600ee; font-weight: bold;\">2023<\/span> Google LLC.\nSPDX-License-Identifier: Apache-<span style=\"color: #6600ee; font-weight: bold;\">2.0<\/span><\/span>\n<\/pre>\n<\/div>\n<\/div>\n<p>[ad_2]<br \/>\n<br \/><a href=\"http:\/\/android-developers.googleblog.com\/2024\/05\/latest-updates-for-watch-faces-wear-os.html\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Posted by Anna Bernbaum \u2013 Product Manager, and Garan Jenkin \u2013 Developer Relations Engineer At last year\u2019s Google I\/O, we launched the Watch Face<\/p>\n","protected":false},"author":1,"featured_media":229126,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[146],"tags":[],"_links":{"self":[{"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/posts\/229125"}],"collection":[{"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/comments?post=229125"}],"version-history":[{"count":0,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/posts\/229125\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/media\/229126"}],"wp:attachment":[{"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/media?parent=229125"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/categories?post=229125"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/tags?post=229125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}