Возможно ли увеличить размер 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>