2013-02-24 16 views
6

Chciałbym zrobić tryb edycji, w stylu aplikacji na tablety gmail. Jeśli użytkownik naciśnie przycisk edycji na pasku akcji, wówczas chciałbym pokazać mu widok akcji, który ma przycisk zakończony po lewej stronie i przycisk usuwania po prawej stronie.jak ukryć przycisk w pasku czynności

Mam przykład, który działa bez ActionBarSherlock tutaj: https://code.google.com/p/romannurik-code/source/browse/misc/donediscard

chciałbym trzymać się ActionBarSherlock, ze względu na kompatybilność.

ten sposób mogę rozwiązać go w onCreateOptionsMenu:

getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.white)); 
getSupportActionBar().setIcon(R.drawable.white); 

for (int i = 0; i < menu.size(); i++) { 
    menu.getItem(i).setVisible(false); } 

getSupportActionBar().setDisplayHomeAsUpEnabled(false); nic nie robi, więc musiałem ustawić ikonę domu do białego piksela 1x1 rozciągliwej.

Musiałem także ustawić kolor tła paska akcji, jako kolor tła akcji. Gdybym tego nie zrobił, domowa ikona 1x1 miałaby wypełnienie, a oryginalny kolor tła byłby widoczny wokół białego przycisku głównego.

Ktoś ma lepsze rozwiązanie?

edit: miałem również zmienić styl:

<style name="Theme.Styled" parent="Theme.Sherlock.Light"> 
     <item name="android:homeAsUpIndicator">@drawable/white</item> 
     <item name="homeAsUpIndicator">@drawable/white</item> 
</style> 

Also..settings android: homeAsUpIndicator wzrósł mój poziom api min od 8 do 11, który jest także problemem.

Odpowiedz

6

Byłeś prawie na miejscu. Aby całkowicie ukryć ikonę/logo, użyj setDisplayShowHomeEnabled(false). Połączenie, z którego korzystasz, usuwa małą strzałkę wskazującą, że ikona działa również jako przycisk "w górę".

+0

setDisplayShowHomeEnabled (false) nic nie robi. Och, a teraz utknąłem z tą głupią małą strzałą. Jak do cholery mam sprawić, by zniknął. Kod, który wkleiłem w początkowym poście, już nie działa dla mnie \: – berestom

+0

Och, mam go ... zaktualizowany post otwierający. Przypadkowo usunąłem niektóre linie z styles.xml. – berestom

+0

Używam mojego drawable jako getActionBar(). SetLogo (R.drawable.back_button); po getActionBar(). setDisplayHomeAsUpEnabled (false) ;. Chcę z tym napisać tekst. Podobnie jak na obrazku: http://stackoverflow.com/questions/29486908/android-action-bar-home-button-customize –

30

Jeśli jesteś na poziomie API 14 lub powyżej nie używasz ActionBarSherlock ten kod w onCreateOptionsMenu wyłączy się przycisk, wyjąć lewą daszka i usunąć ikonę:

ActionBar actionBar = getActionBar(); 
if (actionBar != null) { 
    actionBar.setHomeButtonEnabled(false); // disable the button 
    actionBar.setDisplayHomeAsUpEnabled(false); // remove the left caret 
    actionBar.setDisplayShowHomeEnabled(false); // remove the icon 
} 
+0

Użyłem twojego kodu i działa dobrze. Mogę zastosować moje logo jako przycisk strony startowej, ale chcę ustawić tekst również przyciskiem wstecz. wygląda jak obraz w linku: http: // stackoverflow.com/questions/29486908/android-action-bar-home-button-customize. Czy możesz mi w tym pomóc? –

+2

To zadziałało dla mnie! Właśnie musiałem zmienić '' 'getActionBar()' '' do '' getSupportActionBar() '' '. Dzięki! – wyzkid207

-2

Choć jest to starszy post, chciałbym podzielić się odpowiedzią, która zadziałała dla mnie.

Aby ukryć przycisk UP actionbar, użyj następujących OnCreateOptionsMenu:

if (getSupportActionBar() != 
      getSupportActionBar().hide(); 
     } 

Aby usunąć przycisk UP w actionbar, użyj następujących OnCreateOptionsMenu:

if (getSupportActionBar() != 
      getSupportActionBar().setDisplayHomeAsUpEnabled(false); 
     } 

Mam nadzieję, że będzie pomagać początkującym.

Powiązane problemy