【问题标题】:Change action provider back icon更改操作提供程序返回图标
【发布时间】:2016-05-31 13:52:45
【问题描述】:

动作提供者后退图标:

如何更改操作提供程序生成的后退图标。 我已经使用 HomeAsUpIndicator 更改了我所有活动中的后退图标。 但是这个生成的后退图标仍然带有默认的黑色箭头。 上图显示了我在谈论哪个图标,例如当我点击搜索图标时。

在我的活动中:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_equipment);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_chevron_left_white_48dp);

[...]

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.equipments_menu, menu);

        MenuItem searchItem = menu.findItem(R.id.action_search);
        SearchActionProvider searchActionProvider = new SearchActionProvider(this);
        MenuItemCompat.setActionProvider(searchItem, searchActionProvider);

        return super.onCreateOptionsMenu(menu);
    }

【问题讨论】:

    标签: android icons


    【解决方案1】:

    它适用于这一行:

    app:collapseIcon="@drawable/ic_chevron_left_white_48dp"
    

    把它放在这里:

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar_equipment"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:title="@string/equipments"
        app:titleTextColor="@color/white"
        android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        app:collapseIcon="@drawable/ic_chevron_left_white_48dp" />
    

    【讨论】:

      【解决方案2】:

      编辑您的styles.xml 并添加以下内容:

      <style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
          <item name="android:actionBarStyle">@style/CustomActionBar</item>
      </style>
      
      <style name="CustomActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
          <item name="android:icon">@drawable/ic_close</item>
      </style>
      

      【讨论】:

      • 还是一样,不过我用的是 NoActionBar 主题,有问题吗?
      【解决方案3】:

      获取 SupportActionbar 并指定图标的 id

          getSupportActionBar().setDisplayHomeAsUpEnabled(true);
          getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_close);
      

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-08
      • 1970-01-01
      相关资源
      最近更新 更多