【问题标题】:Change the size of hamburger icon in toolbar?更改工具栏中汉堡包图标的大小?
【发布时间】:2015-03-24 23:28:20
【问题描述】:

我有 2 个问题可能很奇怪,但无论如何......

我有一个标题为应用程序的工具栏。怎么改成不是logo的图片?

下一个问题:是否可以在工具栏中设置、更改汉堡图标的大小?我在下面的下一个代码的帮助下制作了经典的导航抽屉(我也使用了 ActionBarDrawerToggle)但是大小如果您将它与我工具栏的其他项目(图标)进行比较,它就太小了。

toolbar = (Toolbar) findViewById(R.id.application_toolbar);
setSupportActionBar(toolbar);

getSupportActionBar().setDisplayShowHomeEnabled(true);

NavigationDrawerFragment drawerFragment = (NavigationDrawerFragment)getFragmentManager().findFragmentById(R.id.fragment_navigation_drawer);
drawerFragment.setUp(R.id.fragment_navigation_drawer,(DrawerLayout)findViewById(R.id.drawer_layout), toolbar );

感谢您的帮助! =)

【问题讨论】:

  • 要更改图标,请执行以下操作:getSupportActionBar().setIcon()
  • 你好@Josef 你好吗?感谢您的回答。你知道如何设置ActionBarDrawerToggle制作的动画汉堡图标的大小吗?我找不到任何相关信息。你觉得怎么可能?

标签: android android-layout android-activity android-toolbar android-icons


【解决方案1】:

我已经通过这种方式解决了这个问题:

for (int i = 0; i < mToolbar.getChildCount(); i++) {
   if(mToolbar.getChildAt(i) instanceof ImageButton){
       mToolbar.getChildAt(i).setScaleX(1.5f);
       mToolbar.getChildAt(i).setScaleY(1.5f);
   }
}

而且我的汉堡图标大小已经增加。

【讨论】:

    【解决方案2】:

    我想增加汉堡按钮的大小,但发现其他不起作用的答案。来自this answer 的代码完美运行并粘贴在下方。

    "创建一个自定义类,该类扩展 Drawable 类以创建 汉堡包和导航图标。有多种改变方法 以下任何一个的大小是控制 汉堡图标。”

    public class HamburgerDrawable extends DrawerArrowDrawable {
    
        public HamburgerDrawable(Context context){
            super(context);
            setColor(context.getResources().getColor(R.color.white));
        }
    
        @Override
        public void draw(Canvas canvas){
            super.draw(canvas);
    
            setBarLength(30.0f);
            setBarThickness(5.0f);
            setGapSize(5.0f);
        }
    }
    

    “然后从你的班级调用它:”

    private void increaseHamburgerSize(){
        mDrawerToggle.setDrawerArrowDrawable(new HamburgerDrawable(this));
    }
    

    【讨论】: