是否可以增加ActionBarDrawerToggle(Drawer菜单)的大小?

时间:2014-05-27 18:35:54

标签: android android-actionbar navigation-drawer drawertoggle

我关注ActionBarDrawerToggle GUIDE

我知道如何在此处使用drawerImageRes在操作栏上显示抽屉的图标。

  

public ActionBarDrawerToggle(活动活动,DrawerLayout   drawerLayout,int drawerImageRes,int openDrawerContentDescRes,int   closeDrawerContentDescRes)

     

托管抽屉drawerLayout的活动

     

DrawerLayout链接到给定的Activity的ActionBar

     

drawerImageRes用作抽屉指示符的可绘制资源

     

openDrawerContentDescRes一个String资源,用于描述可访问性的“打开抽屉”操作

     

closeDrawerContentDescRes用于描述可访问性的“关闭抽屉”操作的字符串资源

但是the icon looks like so small

所以我想知道Is possible to increase the Drawer icon size?

人们请帮助我,

谢谢,

4 个答案:

答案 0 :(得分:1)

当你构造一个新的ActionBarDrawerToggle时,其中一个参数是drawerImageRes。如果您希望此资源更大,请尝试编辑此资源(通常是R.drawable.ic_drawer)并增加其大小。

答案 1 :(得分:1)

我找到了答案,我首先需要对Action Bar进行研究。

添加:

<style name="Theme.white_style" parent="@android:style/Theme.Holo.Light.DarkActionBar">
        <item name="android:actionBarSize">64dp</item>
        <item name="actionBarSize">64dp</item>
</style> 

有效!

p / s:根据Iconography,定义高度与操作栏图标的规格相匹配,即32 x 32 dp。

  

mdpi - 32 dp = 32 px

     

hdpi - 32 dp * 1.5 = 48 px

     

xxhdpi - 32 dp * 2 = 64 px

Extra reference

答案 2 :(得分:1)

实施了一个很好的答案,这是对此https://stackoverflow.com/a/40774724/3485872

的轻微调整

首先,您要创建一个自定义类,该类扩展了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));
}

答案 3 :(得分:1)

您可以使用以下样式定义属性。它将产生一个较大的汉堡包按钮和一个后退箭头图标。

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>

    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
</style>

<!-- This is the Global style for the NavigationDrawer toggle -->
<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
    <!--        Set that the nav buttons will animate -->
    <item name="spinBars">true</item>
    <!--       Set the bar length -->
    <item name="barLength">64dp</item>
    <!--        Set the space between the hamburger button bars -->
    <item name="gapBetweenBars">12dp</item>
    <!--        Set the thickness of the bar -->
    <item name="thickness">@dimen/half_default_gap</item>
    <!--        Set the color of the toggle button -->
    <item name="color">@color/colorToolbarTitleText</item>

    <!-- Here's how you increase the size of the back arrow icon. -->
    <item name="arrowHeadLength">@dimen/one_and_half_default_gap</item>
    <item name="arrowShaftLength">64dp</item>
</style>