如何改变HomeAsUp指标在新AppCompat工具栏? [英] How to change HomeAsUp indicator in new AppCompat Toolbar?

查看:826
本文介绍了如何改变HomeAsUp指标在新AppCompat工具栏?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想更改默认动作条homeAsUp指标(绘制)在我AppCompat工具栏。如何做到这一点? 只有默认的箭头显示出来。

样式(相同的其他API的级别):

 <样式名称=AppBaseTheme父=Theme.AppCompat.Light.NoActionBar>

        <! -  API 14主题自定义可以去这里。 - >
        <项目名称=机器人:windowActionBarOverlay>真< /项目>
        <项目名称=机器人:homeAsUpIndicator> @绘制的/ home< /项目>

        <! - 支持库的兼容性 - >
        <项目名称=windowActionBarOverlay>真< /项目>
        <项目名称=homeAsUpIndicator> @绘制的/ home< /项目>
< /风格>
 

工具栏在我的片段布局:

 < android.support.v7.widget.Toolbar
        的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
        机器人:ID =@ + ID / my_awesome_toolbar
        机器人:layout_width =match_parent
        机器人:layout_height =WRAP_CONTENT
        机器人:背景=@机器人:彩色/透明
        机器人:homeAsUpIndicator =@可绘制/家
        机器人:=了minHeight?ATTR / actionBarSize
        应用程序:popupTheme =@风格/ ThemeOverlay.AppCompat.Light
        应用程序:主题=@风格/ AppTheme/>
 

在片段:

 工具栏=(栏)rootView.findViewById(R.id.my_awesome_toolbar);

        activity.setSupportActionBar(工具栏);

        动作条动作条= activity.getSupportActionBar();
        actionBar.setDisplayHomeAsUpEnabled(真正的);
        actionBar.setDisplayShowTitleEnabled(假);
 

解决方案

要更改图标,只需调用在运行时:

  toolbar.setNavigationIcon(R.drawable.home);
 

计谋与风格/主题不工作。

<一个href="http://stackoverflow.com/questions/26732952/how-to-enable-homeasup-or-call-setdisplayhomeasupenabled-on-standalone-toolbar">How使homeAsUp或致电setDisplayHomeAsUpEnabled()的独立工具栏上appcompat V21

I wanna change default ActionBar homeAsUp indicator (drawable) in my AppCompat Toolbar. How to achieve that? Only default arrow shows up.

styles (same for other API's level):

<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar">

        <!-- API 14 theme customizations can go here. -->
        <item name="android:windowActionBarOverlay">true</item>
        <item name="android:homeAsUpIndicator">@drawable/home</item>

        <!-- Support library compatibility -->
        <item name="windowActionBarOverlay">true</item>
        <item name="homeAsUpIndicator">@drawable/home</item>
</style>

Toolbar in my fragment layout:

<android.support.v7.widget.Toolbar
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/my_awesome_toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        android:homeAsUpIndicator="@drawable/home"
        android:minHeight="?attr/actionBarSize"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        app:theme="@style/AppTheme" />

In Fragment:

toolbar = (Toolbar) rootView.findViewById(R.id.my_awesome_toolbar);

        activity.setSupportActionBar(toolbar);

        ActionBar actionBar = activity.getSupportActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);
        actionBar.setDisplayShowTitleEnabled(false);

解决方案

To change icon just call at runtime:

toolbar.setNavigationIcon(R.drawable.home);

Trick with styles/themes not working.

How to enable homeAsUp or call setDisplayHomeAsUpEnabled() on standalone toolbar with appcompat v21

这篇关于如何改变HomeAsUp指标在新AppCompat工具栏?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆