Używam ABS vers. 4 i muszę po prostu zmienić domyślny tekst "Gotowe", który jest wyświetlany obok ikony zamknięcia trybu akcji, ale naprawdę nie mogę wymyślić, jak to zrobić.ActionBarSherlock (ABS): jak dostosować tekst pozycji zamknięcia trybu działania?
myślę, że tekst musi być konfigurowalny przez co najmniej dwóch powodów:
„Gotowe” nie jest odpowiednie dla wszystkich kontekstach (np „Anuluj” może być bardziej odpowiednie, i widziałem Niektóre aplikacje, takie jak „My Files” aplikacji na Galaxy Tab, użyj go)
„Gotowe” musi być zlokalizowane w zależności od języka użytkownika
Czy to możliwe, aby zrobić dostosować ten tekst? Jeśli tak, to czy ktoś może mi powiedzieć, jak to zrobić?
Z góry dziękuję.
EDIT
Znalazłem tymczasowe obejście, że mam pisać w następujących przypadkach:
private TextView getActionModeCloseTextView() {
// ABS 4.0 defines action mode close button text only for "large" layouts
if ((getResources().getConfiguration().screenLayout &
Configuration.SCREENLAYOUT_SIZE_MASK) ==
Configuration.SCREENLAYOUT_SIZE_LARGE)
{
// retrieves the LinearLayout containing the action mode close button text
LinearLayout action_mode_close_button =
(LinearLayout) getActivity().findViewById(R.id.abs__action_mode_close_button);
// if found, returns its last child
// (in ABS 4.0 there is no other way to refer to it,
// since it doesn't have an id nor a tag)
if (action_mode_close_button != null) return (TextView)
action_mode_close_button.getChildAt(action_mode_close_button.getChildCount() - 1);
}
return null;
}
To metoda wymyśliłem. Proszę UWAGA, że to w dużym stopniu polegać na strukturze abs__action_mode_close_item.xml
z ABS 4.0.
To działa w moim scenariuszu, ale, jak widać, nie można uznać za wystarczająco satysfakcjonujące promowanie go do prawdziwej "odpowiedzi", dlatego edytowałem tylko mój poprzedni post.
Nadzieję, że pomaga komuś innemu, ale mam także nadzieję, że ktoś może udostępnić lepsze i czystsze rozwiązanie.
setTitle służy do ustawienia „main” tytuł ActionMode, a nie tekst, który jest wyświetlany obok przycisku „Gotowe” w lewym rogu kiedy renderowany jest duży układ. – PacificSky