You can use this method:
private void setBottomNavigationLabelsTextSize(BottomNavigationView bottomNavigationView, float ratio) {
for (int i = 0; i < bottomNavigationView.getChildCount(); i++) {
View item = bottomNavigationView.getChildAt(i);
if (item instanceof BottomNavigationMenuView) {
BottomNavigationMenuView menu = (BottomNavigationMenuView) item;
for (int j = 0; j < menu.getChildCount(); j++) {
View menuItem = menu.getChildAt(j);
View small = menuItem.findViewById(android.support.design.R.id.smallLabel);
if (small instanceof TextView) {
float size = ((TextView) small).getTextSize();
((TextView) small).setTextSize(TypedValue.COMPLEX_UNIT_PX, ratio * size);
}
View large = menuItem.findViewById(android.support.design.R.id.largeLabel);
if (large instanceof TextView) {
float size = ((TextView) large).getTextSize();
((TextView) large).setTextSize(TypedValue.COMPLEX_UNIT_PX, ratio * size);
}
}
}
}
}
call it like:
setBottomNavigationLabelsTextSize(bottomNavigationView, 2.0f);
to double the size of text in the labels.