Title: [Tracking] Bottom navigation & tabs components · Issue #6967 · NativeScript/NativeScript · GitHub
Open Graph Title: [Tracking] Bottom navigation & tabs components · Issue #6967 · NativeScript/NativeScript
X Title: [Tracking] Bottom navigation & tabs components · Issue #6967 · NativeScript/NativeScript
Description: Overview The TabView component is a navigation component that is usually at the base of a mobile app. As such it's very important to get it right. Following lots of reported issues and discussions, we decided to do a re-design of how the...
Open Graph Description: Overview The TabView component is a navigation component that is usually at the base of a mobile app. As such it's very important to get it right. Following lots of reported issues and discussions,...
X Description: Overview The TabView component is a navigation component that is usually at the base of a mobile app. As such it's very important to get it right. Following lots of reported issues and discussi...
Opengraph URL: https://github.com/NativeScript/NativeScript/issues/6967
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"[Tracking] Bottom navigation \u0026 tabs components","articleBody":"## Overview\r\nThe TabView component is a navigation component that is usually at the base of a mobile app. As such it's very important to get it right. Following lots of reported issues and discussions, we decided to do a re-design of how the developer uses and customizes the component. This should be done by introducing several new components including `BottomNavigation` and `Tabs` and there should be no breaking changes for existing apps. See the design doc below for the detailed information.\r\n\r\n## Design\r\nImplementation details and motivation of the feature can be found in its [design document](https://docs.google.com/document/d/1WNecHobGkjvYqRdFD2n2aJxwv0t2Ud8HicUDOfsgz_M/edit?usp=sharing).\r\n\r\n## Tasks\r\n\r\n\u003cdetails\u003e\u003csummary\u003eNativeScript 6.0 (components released as BETA / EXPERIMENTAL)\u003c/summary\u003e\r\n\u003cp\u003e\r\n\r\n**BottomNavigation**\r\n\r\n- [x] native implementation [Android]\r\n- [x] nesting navigations\r\n- [x] load one view at a time\r\n- [x] TabStrip declaration\r\n- [x] Angular support\r\n\r\n**Tabs**\r\n\r\n- [x] native implementation [iOS]\r\n- [x] nesting navigations\r\n- [x] pre-load one view to the sides by default\r\n- [x] TabStrip declaration\r\n- [x] offscreenTabLimit\r\n- [x] tabsPosition\r\n- [x] swipeEnabled\r\n- [x] Angular support\r\n\r\n**TabStrip**\r\n- [x] CSS background-color\r\n\r\n**TabStripItem**\r\n\r\n- [x] CSS pseudo class :active\r\n- [x] CSS background-color\r\n- [x] CSS color\r\n- [x] CSS font\r\n- [x] CSS font-size\r\n- [x] CSS highlight-color\r\n- [x] CSS text-transform\r\n- [x] iconSource font-icon support\r\n- [x] Image instead of iconSource declaration\r\n- [x] Label instead of title declaration\r\n\r\nIssues:\r\n- [x] [iOS Tabs] Tap on tabs does not change item - NativeScript/NativeScript#7435\r\n- [x] [iOS Tabs] Tabs icons does not work - NativeScript/NativeScript#7436\r\n- [x] [iOS Tabs] A crash on swiping a content item - NativeScript/NativeScript#7459\r\n- [x] [BottomNavigation]: crash when navigating without transition animation - NativeScript/NativeScript#7481\r\n- [ ] [BottomNavigation] - crash when used with nativescript-advanced-webview https://github.com/NativeScript/NativeScript/issues/7901\r\n- [ ] [iOS][BottomNavigation] Images are not vertically centered - https://github.com/NativeScript/NativeScript/issues/7991\r\n- [ ] [BottomNavigation] Calling js method onSelectedPositionChange failed - https://github.com/NativeScript/NativeScript/issues/8057\r\n\r\n\r\n\u003c/p\u003e\r\n\u003c/details\u003e\r\n\r\n\u003cdetails\u003e\u003csummary\u003eNativeScript 6.1 (components released as OFFICIAL)\u003c/summary\u003e\r\n\u003cp\u003e\r\n\r\n**BottomNavigation**\r\n\r\n- [x] Vue.js support\r\n- [x] No TabStrip support (tabBarVisibility/no declaration)\r\n- [x] limit bar to 5 tabs\r\n\r\n**Tabs**\r\n\r\n- [x] Vue.js support\r\n- [x] safe area improvements\r\n- [x] No TabStrip support (tabBarVisibility/no declaration)\r\n\r\n**TabStrip**\r\n\r\n- [x] itemTap event: https://github.com/NativeScript/NativeScript/pull/7711\r\n\r\n**TabStripItem**\r\n\r\n- [x] tap event: https://github.com/NativeScript/NativeScript/pull/7693\r\n- [x] Label title CSS support\r\n- [x] Image icon CSS support\r\n\r\nIssues:\r\n- [x] [Tabs][Android] unable to select over one or more TabStripItem NativeScript/NativeScript#7519\r\n- [x] [BottomNavigation][Android]: crash when selecting tab with no correspondent item https://github.com/NativeScript/NativeScript/issues/7526\r\n- [x] [Tabs][iOS] Incorrect tab bar when Tabs are wrapped in any layout - https://github.com/NativeScript/NativeScript/issues/7531\r\n- [x] [iOS][Tabs] Unable to return to tab after tab with nested frame visited https://github.com/NativeScript/NativeScript/issues/7564\r\n- [x] [BottomNavigation][iOS] created dynamically does not shows the TabStrip - NativeScript/NativeScript#7433\r\n- [x] [Tabs][Android] TabStripItem selection highlight not visible with TabStripItem background color set - NativeScript/NativeScript#7494\r\n- [x] [Tabs] TabStripItem color not applied - NativeScript/NativeScript#7495\r\n- [x] [Tabs] Cannot change active text color for selected tabstripitem - NativeScript/NativeScript#7507\r\n- [x] [BottomNav][Android] Changing tabs messes up text color of tabs - NativeScript/NativeScript#7623\r\n- [x] [Tabs][BottomNavigation] TabContentItem background color not applied - NativeScript/NativeScript#7496\r\n- [x] [Tabs][BottomNavigation] Font icon does not update to active state for selected tabstripitem - NativeScript/NativeScript#7506\r\n- [x] [BottomNavigation] Renders bottom empty space if tabstrip is not defined - NativeScript/NativeScript#7471\r\n- [x] [BottomNavigation][Tabs][iOS] TabStripItem font icon doesn't apply own classes - https://github.com/NativeScript/NativeScript/issues/7547\r\n- [x] [iOS][Tabs][BottomNavigation] TabStrip.iosIconRenderingMode property value not respected https://github.com/NativeScript/NativeScript/issues/7733\r\n- [x] [iOS][Tabs][BottomNavigation] Crash with TabStrip configured in code-behind https://github.com/NativeScript/NativeScript/issues/7692\r\n- [x] [BottomNav] Clipped tabstripitem title content when iconSource specified https://github.com/NativeScript/NativeScript/issues/7713\r\n\r\nAngular\r\n\r\n- [x] [Tabs] TabStripItem does not render - NativeScript/nativescript-angular#1884\r\n- [x] [BottomNavigation] TabStripItem does not render - NativeScript/nativescript-angular#1893\r\n- [x] Angular binding inside selectedIndexChanged event would work only if wrapped in NgZone - NativeScript/nativescript-angular#1896\r\n\r\n\u003c/p\u003e\r\n\u003c/details\u003e\r\n\r\n### NativeScript 6.2\r\n\r\nIssues:\r\n- [x] [BottomNav][iOS] Styling is completely messed up on device rotation - https://github.com/NativeScript/NativeScript/issues/7864\r\n- [x] [BottomNavigation] icons in tab-strips items cannot be changed dynamically - NativeScript/NativeScript#7470\r\n\r\n### NativeScript vNext\r\n\r\n**BottomNavigation**\r\n\r\n- [ ] Profiling\r\n- [ ] Tracing\r\n- [ ] [Android] Setting the selectedIndex on BottomNavigation property makes the app crash https://github.com/NativeScript/NativeScript/issues/7884\r\n\r\n**Tabs**\r\n\r\n- [ ] Profiling\r\n- [ ] Tracing\r\n- [ ] Replace MDCTabBar implementation with home-grown solution and drop material dependencies - https://github.com/NativeScript/NativeScript/issues/8079\r\n- [ ] Pre-load UI offscreen [iOS] /unify lifecycle\r\n\r\n**TabBars**\r\n\r\n- [ ] BottomNavigationBar\r\n- [ ] TabsBar\r\n\r\n\r\nIssues:\r\n- [ ] [BottomNav][iOS] Incorrect color applied to text in iOS 13 - https://github.com/NativeScript/NativeScript/issues/7862\r\n- [ ] [iOS][BottomNavigation][Tabs] Nested Tabs in BottomNavigation wrong layout - https://github.com/NativeScript/NativeScript/issues/7562\r\n- [ ] [iOS][Tabs][BottomNav] Crash when ProxyViewContainer first child of TabContentItem - https://github.com/NativeScript/NativeScript/issues/7834\r\n- [ ] [iOS][Tabs] Quickly changing selectedIndex property causes glitches - https://github.com/NativeScript/NativeScript/issues/7694\r\n- [ ] [iOS][Tabs] Tabs get stuck when selecting one by one from tabstrip - https://github.com/NativeScript/NativeScript/issues/7827\r\n- [ ] [iOS][Tabs] safe area issue when action bar is below tab bar on iPhone 6 - https://github.com/NativeScript/NativeScript/issues/7828\r\n- [ ] [iOS][Tabs] selected index does not apply - https://github.com/NativeScript/NativeScript/issues/7831\r\n- [ ] [iOS Tabs/BottomNavigation] Binding issues - NativeScript/NativeScript#7455\r\n- [ ] [Android Tabs/BottomNavigation] Binding issues - NativeScript/NativeScript#7456\r\n- [ ] [BottomNav] Changing tabs crashes app - NativeScript/NativeScript#7608\r\n- [ ] [BottomNav] Changing tabs does not render the new tab items - NativeScript/NativeScript#7609\r\n- [ ] [BottomNav] Dynamically generating tabs with font icons crashes app - NativeScript/NativeScript#7610\r\n- [ ] [BottomNav] Dynamically generating tabs when the BottomNav has a class applied crashes - NativeScript/NativeScript#7611\r\n- [ ] [BottomNav][Android] Text field on second tab doesn't get enabled when autocapitalization is sentences - NativeScript/NativeScript#7620\r\n- [ ] [BottomNav][iOS] Changing tabs programatically messes up styles - https://github.com/NativeScript/NativeScript/issues/7667\r\n- [ ] [Tabs][iOS]: Highlighter change its position when app is minimised (in background) https://github.com/NativeScript/NativeScript/issues/8027\r\n\r\n## Contributing\r\nIf you want to work on a task from the list, tell us and we will do our best to help you!\r\nIf you have another great idea on how to make the tab view even cooler, share it in the comments!\r\n\r\n## Discussion\r\nPlease, don't report problems here. Instead, open a new issue and link it to this one.\r\nLet's use this discussion for suggestions and improvement ideas. We would love to hear from you!\r\n\r\n\u003cbountysource-plugin\u003e\r\n\r\n---\r\nWant to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/70669789-tracking-bottom-navigation-tabs-components?utm_campaign=plugin\u0026utm_content=tracker%2F12908224\u0026utm_medium=issues\u0026utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin\u0026utm_content=tracker%2F12908224\u0026utm_medium=issues\u0026utm_source=github).\r\n\u003c/bountysource-plugin\u003e","author":{"url":"https://github.com/MartoYankov","@type":"Person","name":"MartoYankov"},"datePublished":"2019-02-27T11:54:41.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":32},"url":"https://github.com/6967/NativeScript/issues/6967"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:a5b028fb-7d13-d49f-1d24-3f210d88e4d7 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 9F56:4DEF3:6101AE:829810:69726962 |
| html-safe-nonce | dcff34c8ddca229d77f53e6aa00a9bcb8d844c61cf4aad6afaaab582f32c87ac |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5RjU2OjRERUYzOjYxMDFBRTo4Mjk4MTA6Njk3MjY5NjIiLCJ2aXNpdG9yX2lkIjoiODYxNTM5MjAxNTk4MzczMzA5MCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 799830f26a9287d77db2fbcc143d27511537acd1f5a30cf3e252bf35bf4758a4 |
| hovercard-subject-tag | issue:415087359 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/NativeScript/NativeScript/6967/issue_layout |
| twitter:image | https://opengraph.githubassets.com/3c1be38869c3565e749980cb71918309227998cad29e6f20122f081338899fe3/NativeScript/NativeScript/issues/6967 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/3c1be38869c3565e749980cb71918309227998cad29e6f20122f081338899fe3/NativeScript/NativeScript/issues/6967 |
| og:image:alt | Overview The TabView component is a navigation component that is usually at the base of a mobile app. As such it's very important to get it right. Following lots of reported issues and discussions,... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | MartoYankov |
| hostname | github.com |
| expected-hostname | github.com |
| None | ab2c8e6ec49d8737f6bf007a86b2c4a2bc434bba562c524e0c76465bc9ed358b |
| turbo-cache-control | no-preview |
| go-import | github.com/NativeScript/NativeScript git https://github.com/NativeScript/NativeScript.git |
| octolytics-dimension-user_id | 7392261 |
| octolytics-dimension-user_login | NativeScript |
| octolytics-dimension-repository_id | 31492490 |
| octolytics-dimension-repository_nwo | NativeScript/NativeScript |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 31492490 |
| octolytics-dimension-repository_network_root_nwo | NativeScript/NativeScript |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 76f982acc7b406671507aee04f00d64414a22dbf |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width