diff --git a/android/modules/ui/res/layout/titanium_ui_bottom_navigation.xml b/android/modules/ui/res/layout/titanium_ui_bottom_navigation.xml
index fa49bd39cf5..a146e1995f3 100644
--- a/android/modules/ui/res/layout/titanium_ui_bottom_navigation.xml
+++ b/android/modules/ui/res/layout/titanium_ui_bottom_navigation.xml
@@ -1,19 +1,23 @@
-
-
-
+ android:layout_height="match_parent">
-
+
+
+
-
+
+
diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/TabGroupProxy.java b/android/modules/ui/src/java/ti/modules/titanium/ui/TabGroupProxy.java
index 667e591003e..63674cbb6e0 100644
--- a/android/modules/ui/src/java/ti/modules/titanium/ui/TabGroupProxy.java
+++ b/android/modules/ui/src/java/ti/modules/titanium/ui/TabGroupProxy.java
@@ -60,7 +60,9 @@
TiC.PROPERTY_AUTO_TAB_TITLE,
TiC.PROPERTY_EXIT_ON_CLOSE,
TiC.PROPERTY_SMOOTH_SCROLL_ON_TAB_CLICK,
- TiC.PROPERTY_INDICATOR_COLOR
+ TiC.PROPERTY_INDICATOR_COLOR,
+ TiC.PROPERTY_LEFT_VIEW,
+ TiC.PROPERTY_RIGHT_VIEW
})
public class TabGroupProxy extends TiWindowProxy implements TiActivityWindow
{
@@ -780,6 +782,54 @@ public void fireSafeAreaChangedEvent()
}
}
+ @Kroll.method
+ public void toggleLeft()
+ {
+ if (view instanceof TiUIBottomNavigation bottomNavigation) {
+ bottomNavigation.toggleLeft();
+ }
+ }
+
+ @Kroll.method
+ public void openLeft()
+ {
+ if (view instanceof TiUIBottomNavigation bottomNavigation) {
+ bottomNavigation.openLeft();
+ }
+ }
+
+ @Kroll.method
+ public void closeLeft()
+ {
+ if (view instanceof TiUIBottomNavigation bottomNavigation) {
+ bottomNavigation.closeLeft();
+ }
+ }
+
+ @Kroll.method
+ public void toggleRight()
+ {
+ if (view instanceof TiUIBottomNavigation bottomNavigation) {
+ bottomNavigation.toggleRight();
+ }
+ }
+
+ @Kroll.method
+ public void openRight()
+ {
+ if (view instanceof TiUIBottomNavigation bottomNavigation) {
+ bottomNavigation.openRight();
+ }
+ }
+
+ @Kroll.method
+ public void closeRight()
+ {
+ if (view instanceof TiUIBottomNavigation bottomNavigation) {
+ bottomNavigation.closeRight();
+ }
+ }
+
@Override
public String getApiName()
{
diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIBottomNavigation.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIBottomNavigation.java
index 66fc05ef70f..9b1a75ebca1 100644
--- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIBottomNavigation.java
+++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIBottomNavigation.java
@@ -17,12 +17,18 @@
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
+import android.view.ViewGroup;
import android.view.Window;
import android.widget.FrameLayout;
import android.widget.RelativeLayout;
import androidx.annotation.NonNull;
+import androidx.appcompat.app.ActionBarDrawerToggle;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.widget.Toolbar;
import androidx.core.graphics.ColorUtils;
+import androidx.core.view.GravityCompat;
+import androidx.drawerlayout.widget.DrawerLayout;
import com.google.android.material.badge.BadgeDrawable;
import com.google.android.material.bottomnavigation.BottomNavigationMenuView;
@@ -32,6 +38,8 @@
import com.google.android.material.shape.MaterialShapeDrawable;
import com.google.android.material.shape.ShapeAppearanceModel;
+import org.appcelerator.kroll.KrollDict;
+import org.appcelerator.kroll.KrollProxy;
import org.appcelerator.titanium.TiApplication;
import org.appcelerator.titanium.TiBaseActivity;
import org.appcelerator.titanium.TiC;
@@ -43,10 +51,12 @@
import org.appcelerator.titanium.util.TiUIHelper;
import org.appcelerator.titanium.view.TiUIView;
+import java.lang.reflect.Field;
import java.util.ArrayList;
import ti.modules.titanium.ui.TabGroupProxy;
import ti.modules.titanium.ui.TabProxy;
+import ti.modules.titanium.ui.WindowProxy;
/**
* TabGroup implementation using BottomNavigationView XML as a controller.
@@ -55,15 +65,25 @@ public class TiUIBottomNavigation extends TiUIAbstractTabGroup implements Bottom
{
protected final static String TAG = "TiUIBottomNavigation";
- static int id_layout = 0;
- static int id_content = 0;
- static int id_bottomNavigation = 0;
+ private static int id_layout = 0;
+ private static int id_content = 0;
+ private static int id_bottomNavigation = 0;
private int currentlySelectedIndex = -1;
private ArrayList