2012-12-07 12 views
5

Kiedy zestaw tych cech:Pasek działań są przedstawione poniżej kartami

actionBar = getSupportActionBar(); 

    actionBar.setDisplayHomeAsUpEnabled(true); 
    actionBar.setDisplayShowHomeEnabled(false); 
    actionBar.setDisplayShowTitleEnabled(true); 
    actionBar.setTitle("Title"); 
    actionBar.setLogo(null); 

    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

ActionBar znajduje się poniżej jej Tabs.

ale gdybym skomentuje odczuwalna:

actionBar.setDisplayShowHomeEnabled(false); 

To działa dobrze. Ale powodem, dla którego chcę, aby był fałszywy jest, aby uniknąć wyświetlania aplikacji.

Thank You

Odpowiedz

7

google ten problem i znaleźć ten wątek na gitub: https://github.com/JakeWharton/ActionBarSherlock/issues/327

można przeczytać wątku, ale konkluzja jest:

cześć. Właśnie znalazłem proste rozwiązanie.

Użyj następującego w onCreate metody:
Zobacz homeIcon = findViewById (android.R.id.home);
((Widok) homeIcon.getParent()). SetVisibility (View.GONE);
to całkowicie zwalnia przycisk home.

PS: używam standardowego ActionBar ale to powinno działać ten sam

Mam nadzieję, że to pomaga się,
Daniel.

+0

Ale czy HomeAsUpIcon również będzie ukryty? ** <** ikona musi być widoczna, ale nie aplikacja –

+0

Nie mogę znaleźć konkretnych odpowiedzi na ten temat w przewodniku dla programistów. Ale to też prawdopodobnie zniknie. Powiedziałbym, spróbuj. W przeciwnym razie możesz utworzyć inne obejście z małym przezroczystym obrazem i umieść go jako ikonę aplikacji na pasku akcji. (Jeśli nie ma to wpływu na prawdziwą ikonę). Wtedy widzisz tylko

+0

z ActionBarSherlock, użyj tego: Wyświetl homeIcon = findViewById (Build.VERSION.SDK_INT> = Build.VERSION_CODES.HONEYCOMB? Android.R.id.home: R.id.abs__home); – absk

1

użyłem tego i jest to praca na mnie

ActionBar ab = getSupportActionBar(); 
    ab.setDisplayShowHomeEnabled(true); 
    ab.setDisplayHomeAsUpEnabled(false); 
    ab.setHomeButtonEnabled(false); 
    ab.setLogo(null); 

    View homeIcon = findViewById(
      Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ? 
      android.R.id.home : R.id.abs__home); 
    ((View) homeIcon.getParent()).setVisibility(View.GONE); 
    ((View) homeIcon).setVisibility(View.GONE); 

    ab.setDisplayShowTitleEnabled(false); 
0

Wszystko po wyżej zawaleniem ikonę domu, ale pozostawiając pustą przestrzeń. Aby uniknąć, musisz ustawić rozmiar logo na zero. Poniżej dodałem mój fragment kodu.it może pomóc dla innych, którzy zmagają się z tym samym problemem. Dzięki

 actionBar.setLogo(new ColorDrawable(Color.TRANSPARENT)); 

     View homeIcon = findViewById(
       Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ? 
       android.R.id.home : R.id.abs__home); 
     ((View) homeIcon.getParent()).setLayoutParams(new LayoutParams(0, 0)); 
     ((View) homeIcon).setVisibility(View.GONE); 
Powiązane problemy