首页 > 解决方案 > 如何更改底部导航栏中的图标大小?

问题描述

我在我的 android 应用程序中使用了 BottomNavigationbar。当我在平板电脑上运行时,它会在底部导航栏中显示非常小的图标。我想增加平板电脑的尺寸。

我试图将不同大小的图标放在可绘制文件夹中,但问题仍然存在。

main_activity.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/backgroundGray"
tools:context="com.shakeel.board.MainActivity">

<FrameLayout
    android:id="@+id/fragments_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/bottom_nav_bar">
</FrameLayout>

<android.support.design.widget.BottomNavigationView
    android:id="@+id/bottom_nav_bar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    app:menu="@menu/bottom_navigation_menu"
    android:padding="5dp"
    android:background="@color/white">
</android.support.design.widget.BottomNavigationView>

bottom_navigation_menu.xml

<item android:id="@+id/nav_home"
    android:title="Home"
    android:icon="@drawable/home"/>

<item android:id="@+id/nav_favorites"
    android:title="Favorite"
    android:icon="@drawable/ic_favorite_red_24dp"/>

<item android:id="@+id/nav_shop"
    android:title="Shop"
    android:icon="@drawable/ic_shopping_basket_black_24dp"/>

<item android:id="@+id/nav_setting"
    android:title="Setting"
    android:icon="@drawable/ic_settings_black_24dp"/>

MainActivity.class

public class MainActivity extends AppCompatActivity {

BottomNavigationView bootomNavigation;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    bootomNavigation = findViewById(R.id.bottom_nav_bar);
    BottomNavigationViewHelper.removeShiftMode(bootomNavigation);
    getSupportFragmentManager().beginTransaction().replace(R.id.fragments_container, new HomeFragment()).commit();
    bootomNavigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            Fragment selectedFragment = null;
            switch (item.getItemId()){
                case R.id.nav_home:
                    selectedFragment = new HomeFragment();
                    break;

                case R.id.nav_favorites:
                    selectedFragment = new FavoritesFragment();
                    break;

                case R.id.nav_shop:
                    selectedFragment = new ShopFragment();
                    break;

                case R.id.nav_setting:
                    selectedFragment = new SettingFragment();
                    break;
            }
            getSupportFragmentManager().beginTransaction().replace(R.id.fragments_container, selectedFragment).commit();
            return true;
        }
    });
}
}

标签: androidnavigationbarbottomnavigationview

解决方案


您可以从材料设计页面下载您的图标,选择您的图标,然后选择 Android 选项(见下图),您将获得一组不同尺寸的相同图标,用于不同的屏幕尺寸。

在此处输入图像描述


推荐阅读