2014-10-19 14 views
12

मैं समर्थन टूलबार में एक कस्टम आइकन को परिभाषित करने का प्रयास करने की कोशिश कर रहा हूं लेकिन दिखाया गया एकमात्र आइकन बायां तीर है ... मैंने इसे लेआउट और प्रोग्रामेटिक रूप से सेट करने का प्रयास किया लेकिन परिणाम एक जैसा है ।एंड्रॉइड टूलबार में कस्टम आइकन

यहाँ मेरी गतिविधि

public class MainActivity extends ActionBarActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar); 
    toolbar.setNavigationIcon(R.drawable.ic_launcher); 
    toolbar.setTitle(""); 
    setSupportActionBar(toolbar); 
} 

और मेरे उपकरण पट्टी लेआउट

<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/my_toolbar" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent" 
    app:navigationIcon="@drawable/ic_action_bar" 
    android:minHeight="@dimen/action_bar_size" 
    android:background="?attr/colorPrimary" 
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
    /> 

उत्तर

20

बस इसे करने की कोशिश अपने आप को और मुद्दा आप setSupportActionBar(toolbar) के बाद setNavigationIcon कॉल करने के लिए है कि लगता है। अन्यथा यह केवल तीर दिखाएगा जैसा आपने वर्णन किया है।

//... 
Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar); 
setSupportActionBar(toolbar); 
toolbar.setNavigationIcon(R.drawable.ic_launcher); 
toolbar.setTitle(""); 

नोट::
तो इस मुद्दे को सिर्फ इस तरह कोड बदलने ठीक करने के लिए
इसी शीर्षक की स्थापना के लिए चला जाता है, सामग्रीमंडलियों आदि मैं अगर यह एक बग या अगर यह करना है पता नहीं है, लेकिन यह निश्चित रूप से थोड़े अजीब है।

+0

आप सही हैं, धन्यवाद :) – Antoine

+0

मैं एक ही व्यवहार का अनुभव किया है। –

+8

'toolbar.setTitle (" ") की बजाय;', मैं 'getSupportActionBar() सेट करना पसंद करता हूं। SetDisplayShowTitleEnabled (false); '। मुझे लगता है कि यह बहुत साफ है। – eoinzy

-1
ActionBar.setHomeAsUpIndicator(...); 

यह मेरे लिए काम करता है।

0

यदि आप बदलना मेनू आइकन चाहते हैं। रेस में अपने मेनू फ़ोल्डर में (शायद किसी को यह आवश्यकता होगी) अपनी गतिविधि

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.menu_info, menu); 
    return true; 
} 
  • में

    1. । (Menu_info.xml)

      <?xml version="1.0" encoding="utf-8"?> 
      <menu xmlns:android="http://schemas.android.com/apk/res/android" 
          xmlns:app="http://schemas.android.com/apk/res-auto"> 
          <item 
           android:id="@+id/menu_info_action" 
           android:icon="@drawable/ic_info_icon" 
           android:title="@string/information" 
           app:showAsAction="ifRoom"/> 
      </menu> 
      
  • संबंधित मुद्दे