{"id":229619,"date":"2024-06-07T20:04:10","date_gmt":"2024-06-07T20:04:10","guid":{"rendered":"https:\/\/michigandigitalnews.com\/index.php\/2024\/06\/07\/get-the-big-picture-with-large-screens-at-google-i-o-2024\/"},"modified":"2025-06-25T17:17:36","modified_gmt":"2025-06-25T17:17:36","slug":"get-the-big-picture-with-large-screens-at-google-i-o-2024","status":"publish","type":"post","link":"https:\/\/michigandigitalnews.com\/index.php\/2024\/06\/07\/get-the-big-picture-with-large-screens-at-google-i-o-2024\/","title":{"rendered":"Get the big picture with Large Screens at Google I\/O 2024"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div>\n<meta name=\"twitter:image\" content=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjzH-zcaTX6anX9deSBiGRpp52S8CDhQfR1njOx4pQW7xb1A1tA_nMEtsro7ShnS9t-XslBB7iDJXj96WdkQwD5XEzn4K-l_QFOPNNbsH5K9Oux9weJvtwFvD8n-qn4MJssu7ev5sj9I_R1myoJzuVkudkDz56UrToOp6UMdtANf1fjsGEc8eFl213X2lU\/s1376\/image1.gif\"\/><br \/>\n<img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjzH-zcaTX6anX9deSBiGRpp52S8CDhQfR1njOx4pQW7xb1A1tA_nMEtsro7ShnS9t-XslBB7iDJXj96WdkQwD5XEzn4K-l_QFOPNNbsH5K9Oux9weJvtwFvD8n-qn4MJssu7ev5sj9I_R1myoJzuVkudkDz56UrToOp6UMdtANf1fjsGEc8eFl213X2lU\/s1376\/image1.gif\" style=\"display:none\"\/><\/p>\n<p><em>Posted by Fahd Imtiaz, Product Manager, Android Developer<\/em><\/p>\n<p>\nWith Android reaching more devices, from phones to foldables to Chromebooks, building apps that seamlessly adapt to different screen sizes and types has never been more crucial. At this year\u2019s Google I\/O, we covered building adaptable apps, increasing user productivity with key inputs like keyboard and stylus, and scaling games across surfaces.\n<\/p>\n<h3>Building adaptive apps<\/h3>\n<p>\nThroughout Google I\/O 2024, we\u2019ve talked a lot about how to build adaptive apps. With this shift, some of you may be asking \u201cwhat makes an app truly adaptive?\u201d\n<\/p>\n<p>\nAdaptive apps take advantage of the full screen size they are on &#8211; whether that is a phone, a tablet, or a foldable. These apps adjust layout based on conditions, driving how your app\u2019s layout should adapt. These conditions include things like changes to the size of the window, device posture or font size.\n<\/p>\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjzH-zcaTX6anX9deSBiGRpp52S8CDhQfR1njOx4pQW7xb1A1tA_nMEtsro7ShnS9t-XslBB7iDJXj96WdkQwD5XEzn4K-l_QFOPNNbsH5K9Oux9weJvtwFvD8n-qn4MJssu7ev5sj9I_R1myoJzuVkudkDz56UrToOp6UMdtANf1fjsGEc8eFl213X2lU\/s1376\/image1.gif\" style=\"display: block; padding: 1em 0; text-align: center; \"><img decoding=\"async\" alt=\"\" border=\"0\" data-original-height=\"860\" data-original-width=\"1376\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjzH-zcaTX6anX9deSBiGRpp52S8CDhQfR1njOx4pQW7xb1A1tA_nMEtsro7ShnS9t-XslBB7iDJXj96WdkQwD5XEzn4K-l_QFOPNNbsH5K9Oux9weJvtwFvD8n-qn4MJssu7ev5sj9I_R1myoJzuVkudkDz56UrToOp6UMdtANf1fjsGEc8eFl213X2lU\/s600\/image1.gif\" width=\"600\"\/><\/a><\/div>\n<p>\nAdaptive apps dynamically adjust their layouts by swapping components, showing, or hiding content based on the available window size, compared to simply stretching UI elements. With ever evolving form factors and screen sizes, adaptability for your app to any window size unlocks the seamless experiences users demand today.\n<\/p>\n<p>\nNow that you know what they are, how do you get started building adaptive apps? We strongly recommend using <a href=\"https:\/\/developer.android.com\/develop\/ui\/compose\/layouts\/adaptive\/window-size-classes\">WindowSizeClasses<\/a> as the opinionated breakpoints for your UI and we\u2019re bringing you a variety of new Compose APIs that make it easier to implement common adaptive layouts.\n<\/p>\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgoGUEzL_d7xaR6VeTyHg0F_0C2Tr66vU9fiWFS3Xyvu9PwZ_3q_JEu0sGwy1CH91ueN8erd2ERP4Fqhf0cZokui140mRTsRiMzQmpdVw3F2pbOwPaKGyfoT1gz8OmJiuA0wv0x7KncLapLSip4vuWeB4oYqSbXDD3eAJfnVSl05LA_i0PowqKqAkg0wy8\/s1920\/image3.png\" style=\"display: block; padding: 1em 0; text-align: center; \"><img decoding=\"async\" alt=\"\" border=\"0\" data-original-height=\"1080\" data-original-width=\"1920\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgoGUEzL_d7xaR6VeTyHg0F_0C2Tr66vU9fiWFS3Xyvu9PwZ_3q_JEu0sGwy1CH91ueN8erd2ERP4Fqhf0cZokui140mRTsRiMzQmpdVw3F2pbOwPaKGyfoT1gz8OmJiuA0wv0x7KncLapLSip4vuWeB4oYqSbXDD3eAJfnVSl05LA_i0PowqKqAkg0wy8\/s600\/image3.png\" width=\"600\"\/><\/a><\/div>\n<p>\nAvailable now in beta, the new Compose <a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/compose-material3-adaptive\" target=\"_blank\" rel=\"noopener\">adaptive layout libraries<\/a> help you to make your UI look good across window sizes. From <a href=\"https:\/\/developer.android.com\/develop\/ui\/compose\/layouts\/adaptive\/build-adaptive-navigation\" target=\"_blank\" rel=\"noopener\">navigation UI<\/a> to <a href=\"https:\/\/developer.android.com\/develop\/ui\/compose\/layouts\/adaptive\/list-detail\" target=\"_blank\" rel=\"noopener\">list\/detail<\/a> and <a href=\"https:\/\/developer.android.com\/develop\/ui\/compose\/layouts\/adaptive\/build-a-supporting-pane-layout\" target=\"_blank\" rel=\"noopener\">supporting pane style layouts<\/a>, we\u2019re providing composables to make building an adaptive app easier than ever.\n<\/p>\n<p>\nCheck out these technical sessions to learn more:\n<\/p>\n<p>\nOr get started by checking out the new <a href=\"http:\/\/d.android.com\/compose-adaptive\" target=\"_blank\" rel=\"noopener\">documentation<\/a>!\n<\/p>\n<h3>Increase user productivity on tablet and foldables<\/h3>\n<p>\nTablets and foldables are great for consuming content but even better when it comes to creating content. That\u2019s why leveraging input devices like stylus for more productive experiences is especially important for your users.\n<\/p>\n<h4 style=\"text-align: left;\"><span style=\"font-size: large;\">Improving your app\u2019s stylus experience<\/span><\/h4>\n<p>\nStylus users on Android can remain more productive with new support for handwriting in text fields. You no longer need to put down your stylus when you need to input some text into a text field. Stylus handwriting and gestures will work automatically if you are using standard text components including BasicTextField in Compose (1.7), EditText in Views and text input elements in WebView.\n<\/p>\n<p>\nFor stylus users, low latency is key to having a responsive inking experience. Reducing latency minimizes the amount of delay between when you move your stylus and when the ink appears on the screen, giving users a more authentic pen-to-paper experience. Based on developer feedback, we\u2019ve introduced new APIs to make low latency easier for apps that use Canvas for rendering.\n<\/p>\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjowMPBt6gLi7_HneNWeyfuYdgyJxIFVtznLG5jGXq3fOdonbl30FtMz41DLAj3PKmfib_0MIFz297lYJ4dMpkSJt-sFz1CWQ0HrFlEG8JaLpuH2i6jxPVpsgexF_ntRaiGAXCzIqJyeHn5RBlPMYj9je_VwzIyHcaPU5eYjIJB3hGEXh8JW9WdsbxY5KI\/s1920\/image4.png\" style=\"display: block; padding: 1em 0; text-align: center; \"><img decoding=\"async\" alt=\"\" border=\"0\" data-original-height=\"1080\" data-original-width=\"1920\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjowMPBt6gLi7_HneNWeyfuYdgyJxIFVtznLG5jGXq3fOdonbl30FtMz41DLAj3PKmfib_0MIFz297lYJ4dMpkSJt-sFz1CWQ0HrFlEG8JaLpuH2i6jxPVpsgexF_ntRaiGAXCzIqJyeHn5RBlPMYj9je_VwzIyHcaPU5eYjIJB3hGEXh8JW9WdsbxY5KI\/s600\/image4.png\" width=\"600\"\/><\/a><\/div>\n<p>\nA great example of these libraries in practice is Infinite Painter, where the team reduced their inking latency by 5x.\n<\/p>\n<h4 style=\"text-align: left;\"><span style=\"font-size: large;\">Enhancing productivity with keyboard and mouse support<\/span><\/h4>\n<p>\nNext to the stylus, another essential input device is the physical keyboard that really shines when users need to do a lot of text input like long emails, documents or blog posts. As a developer, making it easy for users to navigate your app with keyboard navigation can set your app apart.\n<\/p>\n<p>\nUsers should be able to navigate to all elements in your app with just their keyboard. It\u2019s also important that frequently used keyboard shortcuts are supported in your app. To help educate your users about shortcuts, consider making your keyboard shortcuts discoverable to users by adding entries to the system <a href=\"https:\/\/developer.android.com\/develop\/ui\/compose\/touch-input\/keyboard-input\/keyboard-shortcut-helper\" target=\"_blank\" rel=\"noopener\">KeyboardHelper<\/a>.\n<\/p>\n<p>\nTo improve the experience for keyboard, mouse, trackpad, and stylus users, we also recommend implementing hover states and keyboard focus. All interactive components should have a hover state and should show a <a href=\"https:\/\/developer.android.com\/develop\/ui\/compose\/touch-input\/user-interactions\/handling-interactions#reusable-custom-effect\" target=\"_blank\" rel=\"noopener\">visual cue<\/a> to indicate which component has the keyboard focus.\n<\/p>\n<p>\nYou can learn more about all these improvements and more via the <a href=\"https:\/\/io.google\/2024\/explore\/d8db063a-a797-4fbb-9936-3e363b940c12\/\" target=\"_blank\" rel=\"noopener\">technical session<\/a>, and our updated <a href=\"https:\/\/developer.android.com\/guide\/topics\/large-screens\/input-compatibility-large-screens\" target=\"_blank\" rel=\"noopener\">documentation<\/a> and <a href=\"https:\/\/developer.android.com\/codelabs\/large-screens\/add-keyboard-and-mouse-support-with-compose\" target=\"_blank\" rel=\"noopener\">codelab<\/a>.\n<\/p>\n<h4 style=\"text-align: left;\"><span style=\"font-size: large;\">Enhance productivity with pane expansion<\/span><\/h4>\n<p>\nAlthough larger window sizes allow showing multiple panes of content at once, users often want to focus on one specific pane at a time. By following the new <a href=\"https:\/\/m3.material.io\/foundations\/layout\/understanding-layout\/parts-of-layout#314a4c32-be52-414c-8da7-31f059f1776d\" target=\"_blank\" rel=\"noopener\">guidance<\/a> for pane expansion, users have the choice to see both panes at once, or resize them as they desire.<\/p>\n<p>Google Calendar has added pane expansion to their supporting pane layout on expanded width window sizes, allowing users to resize to see more details of an event, or more information in their schedule.<\/p>\n<p>\nAlthough larger window sizes allow showing multiple panes of content at once, users often want to focus on one specific pane at a time. By following the new <a href=\"https:\/\/m3.material.io\/foundations\/layout\/understanding-layout\/parts-of-layout#314a4c32-be52-414c-8da7-31f059f1776d\" target=\"_blank\" rel=\"noopener\">guidance<\/a> for pane expansion, users have the choice to see both panes at once, or resize them as they desire.<\/p>\n<p>Google Calendar has added pane expansion to their supporting pane layout on expanded width window sizes, allowing users to resize to see more details of an event, or more information in their schedule.<\/p>\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhe3e8XzseJLNuBRSK7jMNfmo7RqAfqrPhBcmvA4ZkySjcTaaA1oecht9ThYwwbEmeS05TsgWyjPkjh_zpD81UMWpiTqKpwhym9q7SoeKNuQM9Q5qfPlIsfLUkhl6FdR0aq0krVv5axE9GfKvtHZrAWMfVGsUBevukyZkSg-0TyRb3wcKMAZUuEDj-EBxI\/s1531\/image2.gif\" style=\"display: block; padding: 1em 0; text-align: center; \"><img decoding=\"async\" alt=\"\" border=\"0\" data-original-height=\"958\" data-original-width=\"1531\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhe3e8XzseJLNuBRSK7jMNfmo7RqAfqrPhBcmvA4ZkySjcTaaA1oecht9ThYwwbEmeS05TsgWyjPkjh_zpD81UMWpiTqKpwhym9q7SoeKNuQM9Q5qfPlIsfLUkhl6FdR0aq0krVv5axE9GfKvtHZrAWMfVGsUBevukyZkSg-0TyRb3wcKMAZUuEDj-EBxI\/s600\/image2.gif\" width=\"600\"\/><\/a><\/div>\n<p>\nThis feature will be supported by activity embedding in Android 15, and is also planned to be supported by the material3-adaptive library.\n<\/p>\n<h3>Building great games across surfaces<\/h3>\n<p>\nGamers appreciate premium, immersive experiences and with Android tablets, foldables, desktops, and Chromebooks your game can reach more players than ever. Creating meaningful experiences on each of these devices is key to ensuring your game stands out.\n<\/p>\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEinKSJYCyqqeu6X9kaX_dWBqVphtXULeJhqNzPxlYuhOzBpBvQ6XyOrr5eANwYY8p9jNw9xbh-j56gRT_E9Ln5hDTq_YzjLCtMdj7R77UoePg-FVJknLaEaeR3nrY9KeF3Rl59-op-RmUcg0Tub64cvrIbfvZQX0vUhyGxpvDM2XvcHSInmsARBcQExxfQ\/s1000\/image5.png\" style=\"display: block; padding: 1em 0; text-align: center; \"><img decoding=\"async\" alt=\"\" border=\"0\" data-original-height=\"658\" data-original-width=\"1000\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEinKSJYCyqqeu6X9kaX_dWBqVphtXULeJhqNzPxlYuhOzBpBvQ6XyOrr5eANwYY8p9jNw9xbh-j56gRT_E9Ln5hDTq_YzjLCtMdj7R77UoePg-FVJknLaEaeR3nrY9KeF3Rl59-op-RmUcg0Tub64cvrIbfvZQX0vUhyGxpvDM2XvcHSInmsARBcQExxfQ\/s600\/image5.png\" width=\"600\"\/><\/a><\/div>\n<p><i><\/p>\n<p><i>Diablo Immortal saw significantly increased engagement across all aspects of the game by users who play on multiple devices. <\/i><\/p>\n<p><\/i><\/p>\n<p>\nDuring this year\u2019s Google I\/O, we are highlighting the best practices for rendering, managing assets, and windowing in resizable contexts to build quality experiences and impress your players across form factors.\n<\/p>\n<p>\nWith the wide variety of devices and hardware configurations, provide configurable graphics options for your players. And, for the best experience right out of the box, define default graphics options for different devices. Additionally, consider trade offs like storage size, performance, and compatibility across platforms when deciding what texture compression formats to use.\n<\/p>\n<p>\nLarge screen devices support different window sizes with configurations like multi-window mode and on orientation change and fold\/unfold. By default, Android provides a compatibility mode &#8211; but, for the most seamless experience, declare and handle configuration events. Display cutouts, hinges, and even system UI can also occlude your game window, so support edge-to-edge windowing and ensure no key game content is occluded. If you really want to take your game to the next level, consider using the Jetpack WindowManager library to support dynamic layouts on foldable devices.\n<\/p>\n<p>\nTo provide smoother gameplay and reduce input latency consider using frame pacing. Also consider enabling wide color gamut support so that vivid colors are rendered properly while also maximizing contrast and brightness on large screen HDR displays to improve realism and immersion for your players.\n<\/p>\n<p>\nWith the changing mobile landscape and transition from OpenGL to Vulkan, handle swapchain recreation after window configuration changes. If you rely on any device specific hardware features like host visible device local memory have fallback implementations for other platforms.\n<\/p>\n<p>\nLearn more about the rendering best practices and how to level up your game across surfaces by tuning into this <a href=\"https:\/\/io.google\/2024\/explore\/366470a1-000f-4b49-b244-5bf3b521d7c9\/\" target=\"_blank\" rel=\"noopener\">technical session<\/a> and be sure to check out <a href=\"https:\/\/developer.android.com\/games\/develop\/multiplatform\/overview\" target=\"_blank\" rel=\"noopener\">our multiplatform optimization guide<\/a>.\n<\/p>\n<h3>Get started building adaptable apps from phones to tablets and foldables<\/h3>\n<p>\nYou can get started building adaptable apps that look great across tablets, foldables, Chromebooks and more by checking out the <a href=\"https:\/\/io.google\/2024\/explore\/d16737ba-e336-4b68-8928-24692a88e644\/\" target=\"_blank\" rel=\"noopener\">\u201cBuilding adaptive Android apps\u201d<\/a> technical session or heading to the <a href=\"https:\/\/developer.android.com\/large-screens\/gallery\" target=\"_blank\" rel=\"noopener\">large screens gallery<\/a> for content tailored to your specific app type &#8211; from <a href=\"https:\/\/developer.android.com\/large-screens\/gallery\/productivity\" target=\"_blank\" rel=\"noopener\">productivity apps<\/a> to <a href=\"https:\/\/developer.android.com\/large-screens\/gallery\/games\" target=\"_blank\" rel=\"noopener\">games<\/a>\u2026 and more!\n<\/p>\n<\/div>\n<p>[ad_2]<br \/>\n<br \/><a href=\"http:\/\/android-developers.googleblog.com\/2024\/05\/get-big-picture-with-large-screens-at-google-io-24.html\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Posted by Fahd Imtiaz, Product Manager, Android Developer With Android reaching more devices, from phones to foldables to Chromebooks, building apps that seamlessly adapt<\/p>\n","protected":false},"author":1,"featured_media":229620,"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\/229619"}],"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=229619"}],"version-history":[{"count":0,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/posts\/229619\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/media\/229620"}],"wp:attachment":[{"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/media?parent=229619"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/categories?post=229619"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/tags?post=229619"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}