NeoMAD 4.8.3 release notes

September 20, 2021

TabSpec.setView()/setSelectedView()

Possibility to fully customize the TabBar of a TabScreen using a Layout as the tab item.

public class CustomTabBarTabSpecSetView extends TestTabScreen {

    protected void onCreate() {
        setTabBarPosition(BOTTOM);
        // Create custom TabBar
        CustomTabBar customTabBar = new CustomTabBar();
        customTabBar.setBackgroundColor(Color.WHITE);
        setCustomTabBar(customTabBar);

        VerticalLayout normalItem = new VerticalLayout();
        // Complete "normalItem" layout here
        VerticalLayout selectedItem = new VerticalLayout();
        // Complete "selectedItem" layout here

        addTab(TabSpec.newTabSpec(Screen1.class).setView(normalItem).setSelectedView(selectedItem));
        // Repeat process for other tabs
    }
}

DeviceInfo.isIPhoneXFamilly()

Add a method in DeviceInfo to enable code condition based on iPhone devices without home button (iPhone X, iPhone 11,… ).

Screen.hideTitleBarLeftMenuItem()

Add a method in Screen to hide the Home button default menu item in the first screen of the application in Android and the default “back” button in iOS in the application navigation bar.

Screen.applyTitleBackgroundColorToStatusBar()

Add a method in Screen to apply the color of the title bar to the status bar.

ModalBottomSheet: close

Add a method close() on ModalBottomSheet to programmatically close the sheet.

PagerTabStrip

Add methods to customize the selected title color, hide the separators and customize the selected bar under the text of a PagerTabStrip.

  • setSelectedTitleColor(Color)
  • setDividerVisible(boolean)
  • setSelectedIndicatorThickness(int)
  • setSelectedIndicatorPaddingBottom(int)
  • setSelectedIndicatorPaddingLeft(int)
  • setSelectedIndicatorPaddingRight(int)

ListView: hide and display scroll bar

Add methods to hide or display the scroll bar on ListView classes.

  • setVerticalScrollBarEnabled(boolean): diplays / hides the vertical scroll bar
  • setHorizontalScrollBarEnabled(boolean): diplays / hides the horizontal scroll bar

Fix

  • iOS:
    • Fix TabScreen TabBar height on iPhone devices without home button
    • Fix infinite loop that may occur when touching a View with a ClickListener in the Navigation Bar of a TabScreen
    • Fix padding on ListView that was not correctly applied
  • Android
    • Fix BottomSheet scroll priority when a WebView is inside the sheet: the sheet can be closed when scrolling if the WebView is at its top.
    • Fix setTitleKeepNativeCase(boolean enabled) on PagerSlidingTabStrip that had no effect.