2013-02-25 6 views
10

Przed 4.2.2 można było kliknąć tylko logo.Android 4.2.2 sprawia, że ​​ikona i tytuł akcji są klikalne, tak jakby były częścią tego samego przycisku.

Od wersji 4.2.2 tytuł paska akcji można kliknąć razem z logo - , tak jak część tego samego przycisku:.

Możesz zobaczyć przykład tego zachowania w aplikacji Czytnik Google - jeśli masz urządzenie 4.2.2 (patrz załączony zrzut ekranu).

Jak wyłączyć to zachowanie i włączyć opcję klikania tylko na ikonie? Może to błąd?

Zobacz przykładowy fragment kodu:

public class MainActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     getActionBar().setDisplayHomeAsUpEnabled(true); 
     getActionBar().setHomeButtonEnabled(true); 
    } 
    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
      case android.R.id.home: 
       Intent intent = new Intent(this, MainActivity.class); 
       startActivity(intent); 
       finish(); 
       return true; 
     } 
     return false; 
    } 
} 

Clicking on the logo sets the title to also being clicked

+0

Czy możesz podać zredukowany przypadek testowy, który pokazuje problem w kodzie? – Charles

+0

Czy próbowałeś ukryć tytuł i zamiast niego użyć niestandardowego widoku? – ebarrenechea

+0

@Charles - dodano fragment kodu qode do pytania. Jak już powiedziałem, zachowuje się inaczej w 4.2.2 niż 4.2.1 –

Odpowiedz

2

To nie jest błąd, to jest normalne zachowanie systemu! Sądzę, że zmienili to, aby użytkownicy mieli większy klikalny obszar docelowy na tym przycisku.

Jeśli nie wdrożysz własnego ActionBara (być może poprzez rozszerzenie ActionBar Sherlock), nic nie możesz z tym zrobić.

+2

To nie jest logiczne. Tytuł reprezentuje bieżący widok. Kliknięcie na nią powoduje wysłanie użytkownika do głównej czynności, co było zaskakujące. Gdyby mnie zaskoczyło, jako programista zaskoczyłoby to wielu użytkowników. –

+0

Ponadto, nie było żadnej dokumentacji na ten temat w uwagach do wydania, co bardziej przypomina błąd. –

+0

Nie jestem tutaj, aby omówić logikę tego.Mówię wam tylko, że jest to nowe standardowe zachowanie platformy i dopóki nie uda się przekonać gości z Mountain View, żeby to cofnęli, tak to będzie. – Budius

3

Ta odpowiedź wydaje się mieć związek: https://stackoverflow.com/a/16216966/596531

nie próbowałem go sobie, ponieważ jest to obejście w najlepszym i komplikuje mojego kodu, ale ukrywając prawdziwy tytuł powinien załatwić sprawę.

1

Pozbądź:

getActionBar().setHomeButtonEnabled(true); 

i (lub)

getActionBar().setDisplayHomeAsUpEnabled(true); 

sprawia, że ​​tekst i klikalne ikona z z wykorzystaniem

getActionBar().setDisplayHomeAsUpEnabled(true); 

wyjątkiem przy użyciu kodu powyżej ^^ wyświetla małą strzałkę obok ikony lub tekstu


EDIT

Można spróbować użyć tej

getActionBar().setHomeButtonEnabled(true); 

I pozbyć tekście bar Akcja, zgaduję ... ale nie to jest to co chcesz:/ale to sprawia, tylko klikalna ikona

Powiązane problemy