Jak mogę dynamicznie aktualizować ikonę menu ActionBar, aby wyświetlić "czerwoną odznakę" z numerem? (koncepcyjnie podobny do "nieprzeczytanej liczby wiadomości")dynamiczna ikona do rysowania dla elementu menu ActionBar? (Android, ActionBarSherlock)
Używam ActionBarSherlock w mojej aplikacji Android, na poziomie interfejsu API 10+ Moja aplikacja służy do mobilnego przechwytywania danych, a czasami użytkownik nie może natychmiast przesłać nowych danych, ale musi zapisz go lokalnie w telefonie (np. gdy łączność jest słaba)
Zawsze, gdy w telefonie są przechowywane "nieprzesłane" pozycje, chcę pokazać użytkownikowi pozycję menu (na pasku czynności), aby mogą kliknąć na działanie UnsubmittedItems i wywołać ładowanie ręcznie.
Idealnie, ten element menu będzie wyglądał jak graficznie prezentacja liczby nieprzesłanych przedmiotów (podobnie jak w przypadku wiadomości e-mail lub aplikacji sms pokazuje liczbę nieprzeczytanych wiadomości jako znaczek). Obecnie jestem po prostu robi:
unsubmittedMenuItem.setTitle(Integer.toString(numUnsubmitted));
i to działa, ale dwie kwestie: Wolałbym użyć ikony i utrzymać tytuł jako coś zrozumiałego („nieprzesłane”), a także, bym uwielbiam mieć tutaj niestandardowy układ lub projekt, np. czerwone kółko za numerem.
Myśli o tym, jak to osiągnąć? Do tej pory moje badania sugerują dwie możliwości:
- użyć lista poziom rozciągliwej, która jest precreated jakiegoś zakresu numerów (np 1, 2, 3 ... 10+), a następnie unsubmittedMenuItem.getIcon() (setLevel. numUnsubmitted)
- zbudować całą bitmapę całkowicie dynamicznie, korzystając z map bitowych i Canvas API
są one podobne w tym sensie, że ja renderowania tekstu do bitmapy (zarówno w trybie offline jak # 1 lub w locie jak # 2), ale byłoby wspaniale wykorzystać "natywny" rendering tekstu w ActionBar, jeśli to możliwe i po prostu wstawić za nim czerwone kółko jak w TextView.
Czy istnieje jakiś sposób ustawienia niestandardowego układu tylko dla rysunków ikon? (Nie jest to pełna actionLayout, tylko dla ikony?)
dziękuję Jake (jestem wielkim fanem twojej pracy). Pozwól mi poświęcić trochę czasu na zajęcie się # 3 - literatura jest dość myląca, co do niestandardowego układu całego paska akcji w stosunku do konkretnego elementu menu, ale będę się jeszcze bardziej zagłębiał. –
Opcja nr 3 to zdecydowanie droga i jest całkiem łatwa, gdy uda ci się przebrnąć przez wszystkie koncepcje/abstrakcje Androida. Błędnie pomyślałem, że "niestandardowy widok akcji" przejął cały pasek akcji (jak w często cytowanym przykładzie rozwijanego pola wyszukiwania), ale jeśli po prostu robisz wrap_content, możesz dość łatwo napisać niestandardową "ikonę". Dzięki! –
@MikeRepass Mam do czynienia z podobnym problemem, czy mógłbyś podzielić się z nami swoim doświadczeniem? – NullPointer