【问题标题】:How change icon an text size in my navigator drawer?如何更改导航抽屉中的图标和文本大小?
【发布时间】:2015-11-04 18:55:47
【问题描述】:

我知道有很多关于它的问题(和很多答案,但是我已经在 android studio 中创建了一个带有 Navigation Drawer 活动的新项目,而且我看不到在哪里更改菜单的属性。我想更改字体大小、图标颜色、图标大小等,我只看到这个:

enter image description here

<group android:checkableBehavior="single"


    >
    <item
        android:id="@+id/crea"
        android:icon="@drawable/ic_idea"
        android:title="Arnold" />
    <item
        android:id="@+id/descubrir"
        android:icon="@android:drawable/ic_menu_search"
        android:title="Worty" />
    <item
        android:id="@+id/popular"
        android:icon="@drawable/ic_action_name"
        android:title="Basea" />
    <item
        android:id="@+id/vende"
        android:icon="@android:drawable/ic_menu_compass"
        android:title="Doroty" />
</group>

<item android:title="comunicate">
    <menu>
        <item
            android:id="@+id/nav_share"
            android:icon="@android:drawable/ic_menu_share"
            android:title="Amigos" />
        <item
            android:id="@+id/nav_send"
            android:icon="@android:drawable/ic_menu_send"
            android:title="Registrate" />
    </menu>
</item>

我真的需要帮助,我只有 3 个月的时间学习 java 和 android。 这是我的活动代码:

DrawerLayout 抽屉 = (DrawerLayout) findViewById(R.id.drawer_layout);

    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
            this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
    drawer.setDrawerListener(toggle);
    toggle.syncState();

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(this);


}

@Override
public void onBackPressed() {
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    if (drawer.isDrawerOpen(GravityCompat.START)) {
        drawer.closeDrawer(GravityCompat.START);
    } else {
        super.onBackPressed();
    }
}


    return super.onOptionsItemSelected(item);
}

@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
    // Handle navigation view item clicks here.
    int id = item.getItemId();



    if (id == R.id.crea) {

        // Handle the camera action
    } else if (id == R.id.descubrir) {

    } else if (id == R.id.popular) {

    } else if (id == R.id.vende) {

    } else if (id == R.id.nav_share) {

    } else if (id == R.id.nav_send) {

    }

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    drawer.closeDrawer(GravityCompat.START);

    return true;

【问题讨论】:

    标签: fonts menu icons size drawer


    【解决方案1】:

    我也在寻找同样的东西。我通过执行以下操作完成了它:

    从 NavigationView 类创建对象后,插入以下代码,这将使字体大小比以前增加 50%。

    for(int i = 0; i < navigationView.getMenu().size(); i++) {
            MenuItem item = navigationView.getMenu().getItem(i);
            SpannableString spanString = new SpannableString(navigationView.getMenu().getItem(i).getTitle().toString());
            int end = spanString.length();
            spanString.setSpan(new RelativeSizeSpan(1.5f), 0, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            item.setTitle(spanString);
        }
    

    就是这样,你很好!

    【讨论】:

      猜你喜欢
      • 2018-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多