代码之家  ›  专栏  ›  技术社区  ›  mrid

对齐ActionBar图标

  •  0
  • mrid  · 技术社区  · 7 年前

    我跟着 this

    活动XML

    <?xml version="1.0" encoding="utf-8"?>
    
    <android.support.v4.widget.DrawerLayout 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:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context=".Activities.DashboardActivity">
    
    <FrameLayout
    android:id="@+id/content_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    
    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/login_blue"
        android:theme="@style/MyNavbarTheme" />
    
    </FrameLayout>
    
    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:menu="@menu/drawer_view"
        app:headerLayout="@layout/nav_header"/>
    
    </android.support.v4.widget.DrawerLayout>
    

    活动代码

    ....
    
    ActionBar actionbar = getSupportActionBar();
    
    try {
        actionbar.setDisplayHomeAsUpEnabled(true);
        actionbar.setHomeAsUpIndicator(R.drawable.icon_menu_white);
    }
    catch (NullPointerException err) {
        err.printStackTrace();
    }
    
    ...
    

    但是,菜单图标与文本不对齐(见图)。图标略高于中心。我怎样才能解决这个问题?另外,如何更改标题文本的颜色? enter image description here

    1 回复  |  直到 7 年前
        1
  •  0
  •   mrid    7 年前

    我就是这样设法解决这个问题的。

    actionbar.setDisplayHomeAsUpEnabled(true);
    actionbar.setHomeAsUpIndicator(R.drawable.icon_menu_white);
    

    而是用这个来代替:

     ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
         this, mDrawerLayout, toolbar, R.string.text_in, 
         R.string.text_out);
     mDrawerLayout.addDrawerListener(toggle);
     toggle.syncState();