Возможно ли увеличить размер ActionBarDrawerToggle (меню Drawer)?

Я следовал ActionBarDrawerToggle РУКОВОДСТВО

И я знаю, как показать значок ящика на панели действий с помощью drawerImageRes в этом.

public ActionBarDrawerToggle (действие Activity, DrawerLayout boxLayout боксер, int boxImageRes, int openDrawerContentDescRes, int closeDrawerContentDescRes)

Деятельность хостинга ящика ящик Layout

DrawerLayout для ссылки на ActionBar данного действия

boxImageRes Ресурс Drawable для использования в качестве индикатора ящика

openDrawerContentDescRes Ресурс String, описывающий действие "открыть ящик" для доступности

closeDrawerContentDescRes Ресурс String для описания действия "закрыть ящик" для обеспечения доступности

Но the icon looks like so small,

Поэтому я хочу знать Is possible to increase the Drawer icon size?

Люди помогите мне, пожалуйста,

Спасибо,

3 ответа

Решение

Я нашел ответ, мне нужно в первую очередь исследовать 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.

MDP - 32 DP = 32 px

HDP - 32 дп * 1,5 = 48 пикселей

xxhdpi - 32 дп * 2 = 64 пикс.

Отличный ответ реализован, что является небольшой корректировкой с этого /questions/13532207/kak-zamenit-znachok-gamburgera-ispolzuemyij-dlya-actionbartoggle-na-paneli-instrumentov-android-na-sobstvennyij-risunok/13532225#13532225

Сначала вы хотите создать собственный класс, который расширяет класс 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));
}

Когда вы создаете новый ActionBarDrawerToggle, одним из параметров является boxImageRes. Если вы хотите, чтобы этот ресурс был больше, попробуйте отредактировать этот ресурс (обычно R.drawable.ic_drawer) и увеличить его размер.

Вы можете определять атрибуты, используя следующие стили. Это приведет к увеличению кнопки гамбургера и значку стрелки назад.

<!-- 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>
Другие вопросы по тегам