0

Я попробовал все один на один момент на связи, какКак изменить значок панели инструментов (стрелка назад) в новой теме материала?

How to change color of the back arrow in the new material theme?

How to change Toolbar home icon color

Change toolbar back arrow color

How to change change text and arrow color on Toolbar?

Android: unable to change color of back arrow navigation icon

и т.д.,

Но ничего не работает для меня.

Мой макет XML-код,

<android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     style="@style/MyCustomTabLayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:background="?attr/colorPrimary" 
     android:elevation="6dp" 
     android:minHeight="?attr/actionBarSize" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/tab_layout" 
     style="@style/MyCustomTabLayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:minHeight="?attr/actionBarSize" 
     app:tabMaxWidth="0dp" /> 

в styles.xml

<style name="MyCustomTabLayout" parent="Theme.AppCompat.Light"> 
    <item name="tabIndicatorHeight">2dp</item> 
    <item name="tabPaddingStart">12dp</item> 
    <item name="android:layout_width">match_parent</item> 
    <item name="tabPaddingEnd">12dp</item> 
    <item name="tabBackground">@drawable/background_tab_item</item> 
    <item name="tabIndicatorColor">@color/jd_yellow</item> 
    <item name="android:layout_gravity">center</item> 
    <item name="android:gravity">center</item> 
    <item name="tabSelectedTextColor">@color/jd_white</item> 
    <item name="tabTextAppearance">@style/MyCustomTabTextAppearance</item> 
    <item name="android:textAppearance">@style/MyCustomTabTextAppearance</item> 
    <item name="android:background">@drawable/background_tab_item</item> 
    <item name="android:textColorSecondary">@color/jd_white</item> 
    <item name="colorControlNormal">@color/jd_white</item> 
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item> 
    <item name="actionBarTheme">@style/MyApp.ActionBarTheme</item> 
    <item name="actionBarWidgetTheme">@style/WidgetStyle</item> 
    <item name="colorPrimary">@color/jd_white</item> 
    <item name="colorPrimaryDark">@color/jd_white</item> 
    <item name="android:textColorPrimary">@color/jd_white</item> 
</style> 

<style name="WidgetStyle" parent="style/ThemeOverlay.AppCompat.Light"> 
    <item name="colorControlNormal">@color/jd_white</item> 
</style> 

<style name="MyApp.ActionBarTheme" parent="@style/ThemeOverlay.AppCompat.ActionBar"> 
    <!-- change color the arrow or three lines --> 
    <item name="colorControlNormal">@color/jd_white</item> 
</style> 

<!-- Style for the navigation drawer icon --> 
<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle"> 
    <item name="spinBars">true</item> 
    <item name="color">@color/jd_white</item> 
</style> 

<style name="MyCustomTabTextAppearance" parent="TextAppearance.Design.Tab"> 
    <item name="android:textColor">@color/jd_white</item> 
    <item name="android:textSize">@dimen/tab_layout_text_size</item> 
    <item name="android:layout_width">match_parent</item> 
    <item name="android:layout_height">match_parent</item> 
    <item name="android:layout_gravity">center</item> 
    <item name="android:gravity">center</item> 
</style> 

попытался также добавлять ниже OnCreate()

Drawable upArrow = ContextCompat.getDrawable(mContext, R.drawable.abc_ic_ab_back_material); 
     upArrow.setColorFilter(ContextCompat.getColor(mContext, R.color.white), PorterDuff.Mode.SRC_ATOP); 
     getSupportActionBar().setHomeAsUpIndicator(upArrow); 

Ничего работы, до сих пор это цвет черный , Что плохого я делаю ?? Пожалуйста помоги.

ответ

0

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

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
     getSupportActionBar().setHomeAsUpIndicator(R.drawable.YOUR_ASSET); 
+0

но какой если если ящик открыт? По умолчанию изображение с тремя строками меняется на черную стрелку при открытии ящика (что также с анимацией). Могу ли я сделать то же самое с этим? –

0

Попробуйте использовать этот стиль, как ваш Android: темы для панели инструментов:

<style name="ToolbarStyle" parent="@style/ThemeOverlay.AppCompat.Dark"> 
    <item name="android:textColorSecondary">@color/jd_white</item> 
</style> 

как

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    style="@style/MyCustomTabLayout" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:background="?attr/colorPrimary" 
    android:elevation="6dp" 
    android:minHeight="?attr/actionBarSize" 
    android:theme="@style/ToolbarStyle" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 
+0

спасибо, но это тоже не работает в моем случае –

0

после бесчисленного хака и равнины странных ситуаций, это работает как шарм

<style name="App"/> 
<style name="App.Toolbar"> 
    <item name="android:id">@id/toolbar</item> 
    <item name="android:layout_width">match_parent</item> 
    <item name="android:layout_height">?attr/actionBarSize</item> 
    <item name="android:background">@android:color/white</item> 
    <item name="android:minHeight">?attr/actionBarSize</item> 
    <item name="android:theme">@style/ThemeOverlay.AppCompat.Light</item> 
    <item name="popupTheme">@style/ThemeOverlay.AppCompat.Dark</item> 
</style> 
<style name="App.Toolbar.Transparent"> 
    <item name="android:background">@android:color/transparent</item> 
</style> 

 Смежные вопросы

  • Нет связанных вопросов^_^