2015-05-24 18 views
9

Czy jest możliwe wyświetlenie zarówno ikony domu, jak i ikony z powrotem na pasku narzędzi? 1) Czy możliwa jest zmiana kolejności wyświetlania ikony przycisku Wstecz i ikony domu. Obecnie wyświetla najpierw przycisk strzałki, a następnie logo (przycisk główny)Pasek narzędzi Android z przyciskiem powrotu do domu i z powrotem

2) Drugim wymogiem jest wyczyszczenie stosu działań po kliknięciu ikony domu i powrót do poprzedniego ekranu w przypadku przycisku Wstecz.

Mam następujący kod, który wyświetli klawisz strzałki wstecz i ikonę domu, który jest ustawiony jako logo. Czy to możliwe, aby obsłużyć zdarzenia kliknij na obu tych ikon:

Toolbar toolbar = (Toolbar)findByViewID(R.id.toolbar); 
toolbar.setNavigationIcon(R.drwable.btn_back); 
setSuppportActionBar(toolbar); 
getSupportActionBar().setLogo(R.drawable.home_icon); 
getSupportActionBar().setDisplayShowTitleEnabled(false); 
getSupportActionBar().setHomeButtonEnabled(true); 
getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

Jestem w stanie obsłużyć do kliknięcia na ikonę strzałki przy posługiwaniu się nim w sposób onOptionsITemSelected. Czy istnieje sposób na obsługę kliknięcia ikony logo? Mój pomysł polega na kliknięciu przycisku Home, aby wyczyścić stos działań i użyć przycisku Wstecz, aby powrócić do poprzedniego ekranu.

Próbowałem z

toolbar.setNavigationOnClickListener() 

ale to nie ma wpływu na tylnym kliknięcia przycisku.

Handling android.R.id.home pracuje przy jego obsłudze w

onOptionsItemSelected() 
+0

podobny do tego http:. //stackoverflow.com/questions/26525229/toolbar-navigation-icon-never-set ??. Pasek narzędzi to grupa widoków. możesz mieć niestandardowy widok i umieszczać go w dowolnym miejscu. – Raghunandan

+0

@Raghunandan, nie jest to duplikat pytania, a spróbuj z niestandardowym układem i ustawić go na pasku narzędzi. To może zadziałać. –

+0

Nigdy nie powiedziałem, że jest duplikatem. Chciałem tylko wiedzieć, jak powinien wyglądać twój pasek narzędzi. Możesz mieć niestandardowe widoki i umieszczać je odpowiednio. – Raghunandan

Odpowiedz

0
  1. Zaprojektuj nasz własny układ jako osobny „toolbar_content.xml” i to ten układ wewnątrz znacznika paska narzędzi w „main_layout.xml ".
  2. Pisz detektory kliknięć dla twoich przedmiotów w "toolbar_content.xml" w podstawowej aktywności, aby słuchacze byli dostępni przez aplikację.
1

spróbować z tym

toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { 
     @Override 
     public boolean onMenuItemClick(MenuItem item) { 
      if (item.getItemId() == android.R.id.home) { 
       getActivity().finish(); 
      } 
      return true; 
     } 
    }); 
6

Do poruszania się. To działało dla mnie.

@Override 
    public boolean onOptionsItemSelected(MenuItem menuItem) { 
     switch (menuItem.getItemId()) { 
      case android.R.id.home: 
       Intent homeIntent = new Intent(this, HomeActivity.class); 
       homeIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
       startActivity(homeIntent); 
     } 
     return (super.onOptionsItemSelected(menuItem)); 
    } 
Powiązane problemy