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

Android: Add TabGroup.add() method to support view overlays

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Medium
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Android

      Description

      Summary:
      On iOS, TabGroup unofficially supports an add() method which allows you to add views which overlay on top of the entire tab group. We'd like to do the same on Android.

      Use-Case 1: DrawerLayoutin TabGroup
      On Android, there is currently no means of adding a DrawerLayout to a TabGroup. This is a feature that many app developers want.
      TabGroupDrawerWithTabsTest.js

      Use-Case 2: DrawerLayout without Tabs
      A common Android user-interface is to use a DrawerLayout to select tabs/views. For example, Google's gmail app displays different views by tapping on buttons/links in the drawer. The below code hides a TabGroup's tabs so that a DrawerLayout can select tabs instead.
      TabGroupDrawerWithoutTabsTest.js

      Use-Case 3: Overlay translucent view on top of TabGroup
      Another use-case is to overlay a translucent view which can be used to display instructions to the end-user. This currently works on iOS today.
      TabGroupOverlayTest.js

      Recommended Solution:
      Titanium's TiUIAbstractTabGroup Java class should override the following methods in our TiUIView similar to how it's done in TiUIScrollVIew.

      • void add(TiUIView)
      • void insertAt(TiUIView, int)
      • void remove(TiUIView)

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jquick Joshua Quick
                Reporter:
                jquick Joshua Quick
              • Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:

                  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