android - 如何更改底部导航栏中的图标大小?
问题描述
我在我的 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;
}
});
}
}
解决方案
您可以从材料设计页面下载您的图标,选择您的图标,然后选择 Android 选项(见下图),您将获得一组不同尺寸的相同图标,用于不同的屏幕尺寸。
推荐阅读
- python - 带散景的 3 维圆(散点图)图
- javascript - python“请求”模块的响应可以执行提交吗?
- javascript - 如何防止我的表单操作 (html) 使用 javascript?
- javascript - onPress() 不适用于反应导航
- php - 试图调用类“App\Twig\AppExtension”的名为“getDoctrine”的未定义方法
- python - 如何让结果打印出来?/如何接收变量“x”的用户输入?
- angularjs - 如何从angularjs中的组合获取参数
- python - 如何将数据输出到带有标题的 CSV 文件?
- mysql - 根据两个字段查找一个表上缺少的值,而这些值存在于另一个表中
- mongodb - 在 atlas 云中运行的 mango db 上强制关闭连接