2017-01-07 2 views
4

Я экспериментировал с новым представлением BottomNavigationView и пытался его настроить.Изменение размера значка BottomNavigationView

До сих пор мне удалось изменить высоту и поля с помощью ниже:

<dimen name="design_bottom_navigation_height" tools:override="true">75dp</dimen> 
<dimen name="design_bottom_navigation_margin" tools:override="true">5dp</dimen> 

Я хочу, чтобы увеличить размер значков.

Как это можно сделать?

Compile Версия: com.android.support:design:25.0.1

+0

См https://stackoverflow.com/questions/42318954/how-to-increase-bottom-navigation-view-height-along-with-its-icon-and-text-sizes/47030341#47030341 –

ответ

16

Размер значка для зашиты 24dp в макете элемента (см design_bottom_navigation_item.xml) и могут быть изменены программным:

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); 
} 
+0

Благодарим вас за ответ. работал. – SitRock

+4

Я не могу поверить, что они жестко кодируют размер и не используют атрибуты стиля для установки значения, которое может принести большую гибкость для разработчиков ... –