{"id":22366478,"url":"https://github.com/microsoft/surface-duo-sdk-samples-flutter","last_synced_at":"2025-07-30T17:31:42.554Z","repository":{"id":44331095,"uuid":"256336425","full_name":"microsoft/surface-duo-sdk-samples-flutter","owner":"microsoft","description":"flutter samples for Surface Duo ","archived":false,"fork":false,"pushed_at":"2022-11-05T10:26:40.000Z","size":30298,"stargazers_count":55,"open_issues_count":2,"forks_count":17,"subscribers_count":14,"default_branch":"main","last_synced_at":"2024-12-04T17:49:14.173Z","etag":null,"topics":["android","flutter","surface-duo"],"latest_commit_sha":null,"homepage":"http://learn.microsoft.com/dual-screen/flutter/","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2020-04-16T21:42:12.000Z","updated_at":"2024-11-27T08:52:14.000Z","dependencies_parsed_at":"2023-01-22T02:50:44.641Z","dependency_job_id":null,"html_url":"https://github.com/microsoft/surface-duo-sdk-samples-flutter","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fsurface-duo-sdk-samples-flutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fsurface-duo-sdk-samples-flutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fsurface-duo-sdk-samples-flutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fsurface-duo-sdk-samples-flutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/surface-duo-sdk-samples-flutter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228164526,"owners_count":17879085,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","flutter","surface-duo"],"created_at":"2024-12-04T18:12:26.039Z","updated_at":"2024-12-04T18:12:26.948Z","avatar_url":"https://github.com/microsoft.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\r\npage_type: sample\r\nname: Surface Duo - Flutter samples\r\nlanguages:\r\n- dart\r\nproducts:\r\n- surface-duo\r\ndescription: \"Samples showing how to use Flutter for building apps for the Surface Duo.\"\r\nurlFragment: all\r\n---\r\n# Surface Duo Flutter samples\r\n\r\nThis repo contains Flutter samples with enhancements for the Microsoft Surface Duo.\r\n\r\nThe [design_patterns](https://github.com/microsoft/surface-duo-sdk-samples-flutter/tree/master/design_patterns/) project shows how to build the [dual-screen design patterns](https://docs.microsoft.com/en-us/dual-screen/introduction#dual-screen-app-patterns). It is one single application that allows navigating through the following screens:\r\n\r\n| Pattern | Folder | Dual-screen screenshot| Single screen screenshot|\r\n| :---------: | :---------: | ----------- | ----------- |\r\n| ![Extended Canvas design pattern](images/extended_canvas_icon.png)\u003cbr/\u003eExtended Canvas | [extended_canvas](https://github.com/microsoft/surface-duo-sdk-samples-flutter/tree/master/design_patterns/lib/extended_canvas) | ![Flutter Extended Canvas sample in dual-screen mode](images/extended_canvas_dual.png) | ![Flutter Extended Canvas sample in single screen mode](images/extended_canvas_single.png) |\r\n| ![List Detail design pattern](images/list_detail_icon.png)\u003cbr/\u003eList Detail | [list_detail](https://github.com/microsoft/surface-duo-sdk-samples-flutter/tree/master/design_patterns/lib/list_detail) | ![Flutter List Detail sample in dual-screen mode](images/list_detail_dual.png) | ![Flutter List Detail sample in single screen mode](images/list_detail_single.png) |\r\n| ![Two Page design pattern](images/two_page_icon.png)\u003cbr/\u003eTwo Page | [two_page](https://github.com/microsoft/surface-duo-sdk-samples-flutter/tree/master/design_patterns/lib/two_page) | ![Flutter Two Page sample in dual-screen mode](images/two_page_dual.png) | ![Flutter Two Page sample in single screen mode](images/two_page_single.png) |\r\n| ![Dual View design pattern](images/dual_view_icon.png)\u003cbr/\u003eDual View\u003cbr/\u003eNotepad | [dual_view_notepad](https://github.com/microsoft/surface-duo-sdk-samples-flutter/tree/master/design_patterns/lib/dual_view_notepad) | ![Flutter Dual View Notepad sample in dual-screen mode](images/dual_view_notepad_dual.png) | ![Flutter Dual View Notepad sample in single screen mode](images/dual_view_notepad_single.png) |\r\n| ![Dual View design pattern](images/dual_view_icon.png)\u003cbr/\u003eDual View\u003cbr/\u003eRestaurants | [dual_view_restaurants](https://github.com/microsoft/surface-duo-sdk-samples-flutter/tree/master/design_patterns/lib/dual_view_restaurants) | ![Flutter Dual View Restaurants sample in dual-screen mode](images/dual_view_restaurants_dual.png) | ![Flutter Dual View Restaurants sample in single screen mode](images/dual_view_restaurants_single.png) |\r\n| ![Companion Pane design pattern](images/companion_pane_icon.png)\u003cbr/\u003eCompanion Pane | [companion_pane](https://github.com/microsoft/surface-duo-sdk-samples-flutter/tree/master/design_patterns/lib/companion_pane) | ![Flutter Companion Pane sample in dual-screen mode](images/companion_pane_dual.png) | ![Flutter Companion Pane sample in single screen mode](images/companion_pane_single.png) |\r\n\r\nThe [hinge_angle](https://github.com/microsoft/surface-duo-sdk-samples-flutter/tree/master/design_patterns/lib/hinge_angle) project shows how to use the hinge angle data provided by the [dual_screen](https://pub.dev/packages/dual_screen) flutter package.\r\n\r\nMore information, including design resources can be found in the [dual-screen docs](https://docs.microsoft.com/dual-screen/). All the screenshots are generated using the [Surface Duo emulator](https://docs.microsoft.com/dual-screen/android/emulator/).\r\n\r\n## Contributing\r\n\r\nThis project welcomes contributions and suggestions.  Most contributions require you to agree to a\r\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\r\nthe rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.\r\n\r\nWhen you submit a pull request, a CLA bot will automatically determine whether you need to provide\r\na CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions\r\nprovided by the bot. You will only need to do this once across all repos using our CLA.\r\n\r\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\r\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\r\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fsurface-duo-sdk-samples-flutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fsurface-duo-sdk-samples-flutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fsurface-duo-sdk-samples-flutter/lists"}