2016-07-30 21 views
1

Ich verwende mikepenz Schublade Bibliothek, aber ich möchte Standard-Humburger-Symbol und zurück Pfeilsymbol mit meinem eigenen Symbol zu ändern.Wie ändert man das Humberger-Icon in der Toolbar?

Ich habe viele Male versucht, aber Ich bin nicht in der Lage, das Symbol mit meinem eigenen Symbol zu ändern.

Kann mir jemand helfen?

new DrawerBuilder() 
    .withActivity(this) 
    .withTranslucentStatusBar(false) 
    .withActionBarDrawerToggle(false) 
    .withToolbar(toolbar) 
    .addDrawerItems(
     //pass your items here 
    ) 
    .build(); 

CODE DER Humburger ICON ZU ZEIGEN:

getSupportActionBar().setDisplayHomeAsUpEnabled(false); 
result.getActionBarDrawerToggle().setDrawerIndicatorEnabled(true); 

Folgenden ist der Code, den ich oft gefunden, aber ich habe auch versucht, diese aber es hat nicht funktioniert

Drawable upArrow = getResources().getDrawable(R.drawable.my_drawable); 

     actionBar.setHomeAsUpIndicator(upArrow); 
     actionBar.setDisplayHomeAsUpEnabled(true); 
     actionBar.setHomeButtonEnabled(true); 

Und wenn ich bin Suche Ich weiß auch, dass Sie das Symbol nicht ändern können, wenn Sie die Symbolleiste im Schubladen-Generator übergeben, damit mir jemand sagen kann, was ich tun kann?

Antwort

1

Ich habe es nicht mit dieser Bibliothek versucht, aber, versuchen Sie folgendes:

ActionBar actionBar = getSupportActionBar(); 
     if (actionBar != null) { 
      final Drawable upArrow = getResources().getDrawable(R.drawable.my_drawable); 

      actionBar.setHomeAsUpIndicator(upArrow); 
      actionBar.setDisplayHomeAsUpEnabled(true); 
      actionBar.setHomeButtonEnabled(true); 
     } 
+0

Ich versuchte dies aber es hat nicht funktioniert –

+0

In Ordnung, formatieren Sie Ihre Frage richtig, um Downvotes zu vermeiden. – Shaishav

0

Versuchen Sie dies durch Ändern folgende:

result.getActionBarDrawerToggle().setDrawerIndicatorEnabled(true); 

zu

result.getActionBarDrawerToggle().setDrawerIndicatorEnabled(false); 

diese deaktivieren Bibliothek Standard-Symbol, dann ändern Sie das Symbol ...

getSupportActionBar().setHomeAsUpIndicator(R.drawable.my_drawable); 
1

Gemäß dieser link müssen Sie die withToolbar() aus der DrawerBuilder entfernen und dann müssen Sie auf eigene Faust öffnen/schließen.

Dafür können Sie etwas tun, wie die

protected void onCreate(Bundle savedInstanceState) { 
     ... 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
     getSupportActionBar().setDefaultDisplayHomeAsUpEnabled(false); 
     toggle.setDrawerIndicatorEnabled(false); 
     toggle.setHomeAsUpIndicator(R.drawable.ic_custom_drawer_icon); 
     ... 
    } 

Auch musste man eine Symbolleiste Navigation klicken Zuhörer hinzufügen für Click-Ereignisse auf dem benutzerdefinierten Schublade Symbol hört.

protected void onCreate(Bundle savedInstanceState) { 
     ... 
     toggle.setToolbarNavigationClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
       if (drawer.isDrawerOpen(GravityCompat.START)) { 
        drawer.closeDrawer(GravityCompat.START); 
       } else { 
        drawer.openDrawer(GravityCompat.START); 
       } 
      } 
     }); 
     ... 
    } 

können Sie auf das Symbol dynamisch aktualisieren, wann immer erforderlich, da

toggle.setHomeAsUpIndicator(R.drawable.ic_new_icon); 

Hope this Ihnen helfen.

0

private DrawerLayout drawerLayout; 
 
private ActionBarDrawerToggle actionBarDrawerToggle; 
 
Toolbar toolbar; 
 
String Drawer_Open,Drawer_Close; 
 

 
@Override 
 

 
protected void onCreate(Bundle savedInstanceState){ 
 
super.onCreate(savedInstanceState); 
 
setContentView(R.layout.activity_main); 
 
toolbar=(Toolbar)findViewById(R.id.toolbar); 
 
setSupportActionBar(toolbar); 
 
//set it button icon 
 
getSuppotActionBar().setDisplayHomeAsUpEnabled(true); 
 
//set it makes button Clickble 
 
getSuppotActionBar().setHomeButtonEnabled(true); 
 
//set your own icon by using this code 
 
getSuppotActionBar().setHomeAsUpIndicator(R.drawable.my_icon); 
 
drawerLayout=(DrawerLayout)findViewById(R.id.drawer_layout); 
 
actionBarDrawerToggle=new ActionBarDrawerToggle(this,drawerLayout,toolbar,Drawer_Open,Drawer_Close); 
 
drawerLayout.serDrawerListener(actionBarDrawerToggle); 
 
} 
 

 
}

Wieder Haben Sie dert mich Consult hier ....., hoffen, dass Sie Lösung für Ihr Problem bekam ...