2016-09-05 13 views
0

У меня проблема с меню переполнения. Мне нужно заменить 3 точки моим изображением. Я попробовал несколько способов, но не работал.Изменить значок переполнения на новое изображение

В моей styles.xml, я добавил следующий код:

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> 
    ... 
    <item name="actionOverflowButtonStyle">@style/MyOverFlowMenu</item> 
    <item name="android:actionOverflowButtonStyle">@style/MyOverFlowMenu</item> 
</style> 

<style name="MyOverFlowMenu" parent="Widget.AppCompat.ActionButton.Overflow"> 
    <item name="android:src">@drawable/my_overflow</item> 
</style> 

Мое приложение работает с Android 4.4, начиная с последней. Может кто-нибудь дать мне знать, что не так позади этого кода? Заранее спасибо.

+0

в вашем стиле ** AppTheme ** вы взяли родительскую значение, как ** Theme.AppCompat.NoActionBar **. Вы можете видеть панель действий в верхней части экрана? –

+0

@RahulSharma Да, у меня есть пользовательская панель действий – Mathew

+0

, тогда вам не нужно применять ** android: src ** в файле стиля. Просто зайдите в свою панель пользовательских действий и примените ** android: src ** для конкретного изображения. –

ответ

0

Это сработало, когда я сделал программный подход. Здесь идет код для того же:

Drawable drawable = ContextCompat.getDrawable(getApplicationContext(), R.drawable.my_overflow); 
toolbar.setOverflowIcon(drawable); 
-1

Ваш @drawable/my_overflow должен быть XML рисуем как этот:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:state_pressed="false" 
     android:drawable="@drawable/my_overflow_icon_unpressed"> 
    </item> 
    <item android:state_pressed="true" 
     android:drawable="@drawable/my_overflow_icon_pressed" > 
    </item> 
</selector> 

Конечно, убедитесь, что у вас есть PNG рисуем файлы для my_overflow_icon_unopressed и my_overflow_iconPressed

0

Вы можете использовать этот, который работал правильно.

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 
     <item name="actionOverflowButtonStyle">@style/MyOverFlowMenu</item> 
     <item name="android:actionOverflowButtonStyle">@style/MyOverFlowMenu</item> 
    </style> 
    <style name="MyOverFlowMenu" parent="Widget.AppCompat.ActionButton.Overflow"> 
     <item name="android:src">@mipmap/ic_launcher</item> 
    </style> 

Для класса

toolbar = (Toolbar) findViewById(R.id.toolbar); 
     toolbar.setTitle("activity"); 
     setSupportActionBar(toolbar); 
+0

такой же предмет только я сказал в моем вопрос. Но это не сработало. – Mathew

+0

проверить мой код обновления, он работает во всех версиях. – ViramP