{"id":18465995,"url":"https://github.com/mybigday/react-native-external-display","last_synced_at":"2025-04-15T02:16:24.437Z","repository":{"id":36996933,"uuid":"243214355","full_name":"mybigday/react-native-external-display","owner":"mybigday","description":"React Native view renderer in External Display","archived":false,"fork":false,"pushed_at":"2025-03-17T18:50:31.000Z","size":3446,"stargazers_count":226,"open_issues_count":24,"forks_count":24,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-15T02:16:04.715Z","etag":null,"topics":["android","external-display","ios","native-module","native-ui-component","react","react-native"],"latest_commit_sha":null,"homepage":null,"language":"Java","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/mybigday.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-26T08:49:06.000Z","updated_at":"2025-04-15T01:02:12.000Z","dependencies_parsed_at":"2024-01-05T02:26:57.823Z","dependency_job_id":"635cf1c6-d42c-49f8-bc4b-7d1114b2c442","html_url":"https://github.com/mybigday/react-native-external-display","commit_stats":{"total_commits":756,"total_committers":10,"mean_commits":75.6,"dds":0.3994708994708994,"last_synced_commit":"8c5d7684c2d287d6a5252719227c74c73d796fa2"},"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mybigday%2Freact-native-external-display","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mybigday%2Freact-native-external-display/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mybigday%2Freact-native-external-display/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mybigday%2Freact-native-external-display/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mybigday","download_url":"https://codeload.github.com/mybigday/react-native-external-display/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248991560,"owners_count":21194894,"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","external-display","ios","native-module","native-ui-component","react","react-native"],"created_at":"2024-11-06T09:14:46.721Z","updated_at":"2025-04-15T02:16:24.421Z","avatar_url":"https://github.com/mybigday.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CI Status](https://github.com/mybigday/react-native-external-display/workflows/CI/badge.svg)](https://github.com/mybigday/react-native-external-display)\n\n# react-native-external-display\n\nReact Native view renderer on External Display. Also supports [Multiple Scenes](docs/IOSMultipleScenesSupport.md) on iOS.\n\n- [Package (react-native-external-display)](packages/react-native-external-display)\n- [Example](packages/RNExternalDisplayFabricExample)\n- [Example of iPad Multiple Scenes - Simple Multiple Windows Browser](packages/IPadMultiScenesHeadlessExample)\n\n## Introdution\n\n- iOS\n  - [Displaying Content on a Connected Screen](https://developer.apple.com/documentation/uikit/windows_and_screens/displaying_content_on_a_connected_screen)\n  - [Multiple Scenes support on iPad targets](docs/IOSMultipleScenesSupport.md)\n- Android - [Presentation API](https://developer.android.com/reference/android/app/Presentation)\n\n```js\nimport React from 'react'\nimport Video from 'react-native-video'\nimport ExternalDisplay, {\n  useExternalDisplay,\n} from 'react-native-external-display'\n\nfunction App() {\n  const screens = useExternalDisplay()\n\n  return (\n    \u003cExternalDisplay\n      mainScreenStyle={{ flex: 1 }}\n      fallbackInMainScreen\n      screen={Object.keys(screens)[0]}\n    \u003e\n      \u003cVideo\n        source={{\n          uri: 'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4',\n        }}\n        style={{ flex: 1 }}\n        repeat\n        muted\n      /\u003e\n    \u003c/ExternalDisplay\u003e\n  )\n}\n```\n\n|                                                No selected screen                                                |                                                     Selected                                                     |\n| :--------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------: |\n| ![IMG_1318](https://user-images.githubusercontent.com/3001525/75336253-c3807a00-58c5-11ea-9872-371b654c05fa.png) | ![IMG_1319](https://user-images.githubusercontent.com/3001525/75336265-c8452e00-58c5-11ea-84a7-35e7a2ceccfe.png) |\n\n\u003e iPod Touch connected to TV via AirPlay\n\n## Known issues\n\n#### ios\n\n- Developer menu and keyboard shoutcuts may not work properly if you attached view renderer into external screen, until it leaves the external screen. As an alternative, you can use dev menu functions from `DevSettings` module of React Native. (Such as through [`react-native-debugger`](https://github.com/jhen0409/react-native-debugger))\n\n#### android\n\n- Not good support for react-native `Modal`, it always show on main screen for Android\n\n## About iPad Split View / Slide Over\n\nIf you want the app works on iPad Split View and External screen, the app should be main screen (on left as Split View), It doesn't work on right side or as Slide Over, because it wouldn't receive `UIScreenDidConnectNotification` event.\n\n## Related projects\n\n- [`react-native-media-player`](https://github.com/mybigday/react-native-media-player)\n- [`react-native-external-screen`](https://github.com/mackeian/react-native-external-screen)\n\n## License\n\n[MIT](LICENSE.md)\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://bricks.tools\"\u003e\n    \u003cimg width=\"90px\" src=\"https://avatars.githubusercontent.com/u/17320237?s=200\u0026v=4\"\u003e\n  \u003c/a\u003e\n  \u003cp align=\"center\"\u003e\n    Built and maintained by \u003ca href=\"https://bricks.tools\"\u003eBRICKS\u003c/a\u003e.\n  \u003c/p\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmybigday%2Freact-native-external-display","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmybigday%2Freact-native-external-display","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmybigday%2Freact-native-external-display/lists"}