Forum Widgets
Latest Discussions
Compose Jetpack TwoPaneLayoutNav can find route for pane1 but not for pane2
Hi team, long time no see but here I'm with another problem which is properly caused by not understanding the API. I use the version: implementation("com.microsoft.device.dualscreen:twopanelayout:1.0.1-alpha06") My code Based on the https://learn.microsoft.com/en-us/dual-screen/android/jetpack/compose/two-pane-layout, I tried to get my TwoPaneLayoutNav working. class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val navController = rememberNavController() TwoPaneLayoutNav( navController = navController, singlePaneStartDestination = "regions", pane1StartDestination = "regions", pane2StartDestination = "regions" ) { composable("regions") { RegionsScreen( navigateToRegion = { id -> navController.navigate("regions/${id}")} ) } composable("regions/{id}") { backStackEntry -> val id = backStackEntry.arguments?.getString("id") RegionScreen(regionId = id ?: "A") } } } } } The problem But as soon as I span the app across both screens, the app crashes with the following error: java.lang.IllegalArgumentException: Invalid route regions, not present in list of routes [] I tried not just "regions" but "regions/a", too. Both does not work. If I introduce another path like "test" is also does not work. In single screen mode, everything works as expected. Thanks for your help!SolvedtscholzeApr 01, 2023Iron Contributor1KViews0likes3CommentsLooking for a list with foldable & large-screen device related sessions
Hi team, sometimes the DX team posts that new session recordings are available. But to be honest, I think I miss a lot of them. Do you have any list with "all" session recordings? It would be awesome! You speak at a lot of of different events which is hard to follow them all. 🙂SolvedtscholzeAug 07, 2022Iron Contributor631Views0likes2CommentsStream idea: Adapting maps (but not GMaps) for foldables and large screen devices using Compose
Hi team, thanks to your fast answer to my last post, I know that the emulator does not support Google Play Services. That means Google Maps is not available using your emulator image. Due to this circumstance you want to cover the topic of how to embed, use and modify maps (but not GMaps) to get the best user experience on foldable or large screen devices incl. navigation and showing detail information for a tapped pin. To be honest, the official Microsoft Bing Maps SDK is a little bit off and not helpful (only java, no birds-eyed tutorial, no compose, etc.). If you think this is no topic you wanna cover - it's fine I just think it would a very helpful until the emulator supports GPS - or WSA supports it which will never happen because of the Amazon Store 🙂SolvedtscholzeMay 24, 2022Iron Contributor1KViews0likes2CommentsDoes the current emulator not include Google Play Services?
Hi team, I fired up my old but still working Windows machine today and updated the Surface Duo Android 11 emulator (SurfaceDuoEmulator_Android11_2022.510.8_windows.exe). Do you confirm that the emulator does not include the Google Play Services e.g. for Google Maps? If the emulator has the services included, you could help me to understand the error message below 🙂 W/GooglePlayServicesUtil: com.github.tscholze.duobahn requires the Google Play Store, but it is missing. D/OpenGLRenderer: endAllActiveAnimators on 0x70f287917dc0 (UnprojectedRipple) with handle 0x70f1a79248c0 Thanks for any help!SolvedtscholzeMay 23, 2022Iron Contributor1.2KViews0likes1Comment[Developer story] My thoughts - Surface Duo developer for over 880 days
Since November 19, 2019, at 7 pm German local time I was busy with the development for the Microsoft Surface Duo and thus for smartphones which have more than just a screen. In these now well over 880 days I went through many valleys of tears but also through many moments of pride regarding my spare time occupation of software development. One thing has always remained: The curiosity about the uniqueness of this new class of devices for developers as well as users. Only for the daily use it has not been enough yet. # Why? Like many other interested people at the time, I was particularly attracted by the hardware, the hinge, and the "newness" of the device. Things that I did not know from my bread and butter development for iOS and iPadOS, and at the time I was desperately missing them. It was also quickly clear that I wanted to share my enthusiasm for the new device. Thus began my very first https://www.drwindows.de/news/rtsd-road-to-surface-duo-das-entwicklertagebuch-teil-12-das-dutzend-ist-voll-eure-meinung-gefragt . My diary about the development of the #rTsd app - My "Road To Surface Duo". One big thing that kept me going was the free choice of technologies I could use to develop for the Android from Redmond. Xamarin, Flutter, Android and now Jetpack Compose. So it is and was the perfect playground to be able to try out new things from software development in my spare time and still be able to exist through a concrete scenario. # It's the "niche" that makes it endearing to me What kept me on the ball all these years was that the entire Surface Duo developer community is "family-like." Of course, this is due to the fact that the Duo has not yet taken off in terms of sales and market penetration. As an interested developer, you have direct contact with helpful and inspiring people from the DX (Developer eXperience) team directly from Microsoft through various channels. Since all my apps, which I write in my hobby, are https://github.com/tscholze, exciting conversations arise, if one - which admittedly rarely happens - runs into like-minded people. If you compare this with experiences from the Apple Developer Portal and its DevRel, for example, you'll quickly notice that Duo really makes you feel like a human being, respected and, above all, "listened to". In addition, it feels like an enormous success to me if you can convince even one more person of the concept of two-screen devices and they start to deal with the UI guidelines and finally understand them. I am incredibly happy about that. Things that are unthinkable for iOS or conventional Android development. # What I wish for the next 880 days As mentioned, the most important thing is that Microsoft continues. With updated hardware in the form of a Surface Duo 3, with a rapid update cycle of the Android operating system and with people who help you find your way in the complex world of dual screen devices. This is the only way to establish an independent community that will continue to inspire and motivate itself over time. A start could be a small Discord server where interested and Microsoft employees can meet and exchange ideas. Even though we are here on a Microsoft Community my wish remains that Microsoft also brings the emulator of the Surface Duo to the M1 Mac after all these years. Otherwise, a complete target group will be excluded - especially in view of Apple's model policy, which will no longer include x86 processors soon. # Conclusion All this shows that it is often the intangible things that motivate us to engage with technology. The new, the unexpected, but also the human interaction between manufacturer and developer. Thank you for this exciting journey! This story is a short form of my longer - and more https://dualscreentobbo.medium.com/since-november-19-2019-at-7-pm-german-local-time-i-was-busy-with-the-development-for-the-365011c18c60.SolvedtscholzeMay 01, 2022Iron Contributor809Views2likes1CommentWhat Surface Duo stand do you use while developing?
Hi team, this questions seems odd but to be honest, none of my phone stands, grips, what-ever-thingies are suitable with the Duo's size or USB-C connector position. I tried the book posture - it works great as a "build in" solution but the angle isn't the best. What's your favorite stand? Thanks and happy hacking!SolvedtscholzeApr 24, 2022Iron Contributor2.2KViews0likes5CommentsUI question on foldable: How to display a small amount of content on top of an extended canvas?
Hi team, during my current pet project I learn, that my UI / UX understanding and how thing should work under Android is still not competitive (and useful) that's why I ask you, the awesome Surface Duo community. You see my following app screenshot. Its foldable emulator because there is sadly no M1 Surface Duo emulator, yet. I use the navigation rail und the left to trigger some actions. But all pages - besides the "Map" are quite small - on the huge Surface Duo displays. For this task I assume that its a Surface Duo, spanned displays and in Landscape mode (as it always is). That's why I do not want a page transition to another view, I thought I use a "BottomSheetScaffold" but a little bot of the sheet is always visible in "collapsed" mode. Another Idea was a simple "Drawer". But the drawer should be on the right screen and not 90% width of display, that's why this idea was always a fail. My latest idea was a "Sheet" that moves from the bottom up - like a BottomSheet but not edge to edge and not visible if not active - if the user taps at e.g. "About". The sheet should have some elevation, maybe a close button, etc. What do you think? I had a look at the samples but I was not able to find such scenario, maybe I overlooked something. Thanks for your help and keep up with your amazing work, - TobiSolvedtscholzeApr 09, 2022Iron Contributor1.5KViews0likes6CommentsWill be "Android app on Windows 11"-developers a part of this community?
Hi team, I already asked the question in your last Twitch stream, but maybe more people are interested in it. You (the DX team) said, that you will broad up the samples to "non Duo"-devices like other foldable, tablets, or old school single screen devices. Windows 11's (nope, I do not have one) "Subsystem for Android" allows to run apps from the Amazon Store on a PC. For me that's a "new form factor" was it is with dual screen devices - and maybe with some special SDKs in the future. That's why my question: Do you plan to "add this" to your responsibility list or is it another Microsoft team / community that helps developers to work and adopt their apps? Happy coding, - TobiSolvedtscholzeApr 09, 2022Iron Contributor1KViews0likes2CommentsWould it be a good idea to use different "layouts" in an app?
Hi team, is it a good idea to use multiple, dual-screen-specific layouts in one app? For example: - The map page is just an extended canvas - The settings page is a two pane layout - etc Or should I only use the device-specific layout at the root view?SolvedtscholzeMar 15, 2022Iron Contributor860Views0likes2CommentsUI question: How to display a blocking "loading / preparation" screens if device is in book mode
Hi team, I Just wanna ask you how to "design" a full-width, user interaction blocking loading / preparation view for dual screen devices? For single screen devices, it is quite simple, but what should I do on a second screen? Should I present the loading view animation on e.g. the left screen and the right screen stays just white? Maybe I duplicated the animation on the second screen, too? Do you have any recommendation or "unicorn" UIs as a reference? Thanks for you're awesome and helpful tips in the past and in the future! Screenshot:SolvedtscholzeMar 15, 2022Iron Contributor1KViews0likes2Comments
Resources
Tags
- question8 Topics
- ask-the-pm2 Topics
- Layout2 Topics
- Flutter2 Topics
- Tutorial2 Topics
- Lessons learned2 Topics
- design2 Topics
- show-and-tell1 Topic
- SDK update1 Topic
- info1 Topic