2016-09-05 30 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> 

私のアプリケーションは、以降、最新のアンドロイド4.4から動作します。このコードの背後に何が間違っているか教えてもらえますか?前もって感謝します。

+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> 

。あなたは画面上部のアクションバーを見ることができますか? –

+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> 

、あなたがmy_overflow_icon_unopressedのためにPNG描画可能なファイルを持っていることを確認するとmy_overflow_iconPressed

0

これは適切に動作します。あなたは** Theme.AppCompat.NoActionBar **として親の値をとっているあなたの** AppTheme **スタイルでクラス

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

同じことだけ私の質問で言った。しかし、それは動作しませんでした。 – Mathew

+0

私の更新コードをチェックすると、すべてのバージョンで動作しています。 – ViramP

関連する問題