Я использую ABS vers. 4, и мне нужно просто изменить текст "Готово" по умолчанию, который отображается, кроме значка закрытия режима действия, но я действительно не могу понять, как это сделать.
Я думаю, что текст должен быть настроен по крайней мере по двум причинам:
-
"Готово" не подходит для всех контекстов (например, "Отмена" может быть более уместной, и я видел некоторые приложения, такие как приложение "Мои файлы" на вкладке Galaxy, используйте его)
-
"Готово" необходимо локализовать в соответствии с языком пользователя
Можно ли настроить этот текст? Если это может кто-нибудь сказать мне, как это сделать?
Спасибо заранее.
ИЗМЕНИТЬ
Я нашел временное обходное решение, которое я размещаю в следующем:
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;
}
Это метод, с которым я столкнулся. Пожалуйста, ПРИМЕЧАНИЕ, что он в значительной степени полагается на структуру abs__action_mode_close_item.xml
для ABS 4.0.
Это работает для моего сценария, но, как вы можете видеть, он не может считаться достаточно удовлетворительным, чтобы продвинуть его к реальному "ответу", поэтому я только редактировал свой предыдущий пост.
Надеюсь, что это поможет кому-то другому, но я также надеюсь, что кто-то может поделиться лучшим и чистым решением.