Changing BottomNavigationView's Icon Size
Late but Latest
Use implementation 'com.android.support:design:28.0.0'
Design Support Library.
There is an property to change Icon Size:
<android.support.design.widget.BottomNavigationView
app:itemIconSize="@dimen/_26sdp">
....
....
</android.support.design.widget.BottomNavigationView>
Programmatically:
dashboardNavigation.setItemIconSize(24);
UPDATE:
If you are using a material library then it will be the same. Just change the package name as below.
implementation 'com.google.android.material:material:1.1.0'
XML:
<com.google.android.material.bottomnavigation.BottomNavigationView
app:itemIconSize="@dimen/_26sdp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
Programmatically - Same as above.
Thank you.
The icon size is hardcoded to 24dp in the item layout (see design_bottom_navigation_item.xml) and can be changed programmatically:
BottomNavigationView bottomNavigationView = (BottomNavigationView) configurationActivity.findViewById(R.id.bottom_navigation_view);
BottomNavigationMenuView menuView = (BottomNavigationMenuView) bottomNavigationView.getChildAt(0);
for (int i = 0; i < menuView.getChildCount(); i++) {
final View iconView = menuView.getChildAt(i).findViewById(android.support.design.R.id.icon);
final ViewGroup.LayoutParams layoutParams = iconView.getLayoutParams();
final DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
layoutParams.height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 32, displayMetrics);
layoutParams.width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 32, displayMetrics);
iconView.setLayoutParams(layoutParams);
}