Uploaded image for project: 'Titanium SDK/CLI'
  1. Titanium SDK/CLI
  2. TIMOB-25953

Android: Add "Ti.UI.TabbedBar" support

    Details

      Description

      Summary:
      Currently, Titanium's TabbedBar feature is iOS only. We should add support on Android for parity.

      This would also be a solution for developers who want to see tabs at the bottom of the Android screen, such as how it works on iOS. The TabbedBar can be used in conjunction with a ScrollableView with scrolling disabled to have the same effect as a TabGroup.

      Recommended Solution:
      Use the Google "design" support library's TabLayout class which only shows tabs.
      https://developer.android.com/reference/android/support/design/widget/TabLayout.html
      https://material.io/guidelines/components/tabs.html#tabs-usage

      Alternatively, use the Java TabHost class. The TabHost content area for the tabbed view can be set with a zero height so that only the tab bar is shown.
      https://developer.android.com/reference/android/widget/TabHost.html

      The iOS Ti.UI.TabbedGrouped is currently flagged deprecated. We should un-deprecate it and make the Ti.UI.iOS.TabbedGroup deprecated instead.
      https://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.TabbedBar
      https://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.iOS.TabbedBar

      Future:
      Google's material design guidelines suggests that you use a BottomNavigationView if the tabbed bar is shown at the bottom of the screen. It doesn't show an underline for tab selection and instead highlights the text and image. Unfortunately, this solution has a limit on how many tabs can be shown. It doesn't support horizontal scrolling. Perhaps this should be a style setting upon TabbedBar creation that can be implemented later?
      https://developer.android.com/reference/android/support/design/widget/BottomNavigationView.html
      https://material.io/guidelines/components/bottom-navigation.html

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ybanev Yordan Banev
                Reporter:
                jquick Joshua Quick
                Reviewer:
                Joshua Quick
              • Watchers:
                11 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Backbone Issue Sync

                  • Backbone Issue Sync is enabled for your project, but we do not have any synchronization info for this issue.

                    Git Source Code