- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 ABS 版本。 4,我需要简单地更改显示在操作模式关闭图标旁边的默认“完成”文本,但我真的不知道该怎么做。
我认为文本需要可定制至少有两个原因:
“完成”并不适用于所有情况(例如,“取消”可能更合适,我见过一些应用程序,例如 Galaxy Tab 上的“我的文件”应用程序,使用它)
“Done”需要根据用户的语言进行本地化
是否可以自定义该文本?如果可以,谁能告诉我该怎么做?
提前致谢。
编辑
我找到了一个临时解决方法,我将其发布在以下位置:
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 4.0 的 abs__action_mode_close_item.xml
的结构。
这适用于我的场景,但是,如您所见,它不能被认为足以令人满意,无法将其提升为真正的“答案”,这就是为什么我只编辑了我之前的帖子。
希望对其他人有所帮助,但我也希望有人可以分享更好、更清洁的解决方案。
最佳答案
您可以使用主题来覆盖默认图标:
<item name="actionModeCloseDrawable">@drawable/navigation_back</item>
<item name="android:actionModeCloseDrawable">@drawable/navigation_back</item>
关于android - Action 条夏洛克 (ABS) : how to customize the text of action mode close item?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10026700/
我在我的选项卡 Activity 中覆盖了以下方法,它可以正常工作,但我希望每个 fragment 都有特定的选项菜单。当我把它放在我的 fragment 中并按下菜单按钮时,什么也没有发生。 @Ov
你好,我正在使用 Sherlock 库在 Android 应用程序中实现 ActionBarTabs,但我看到它正在将 ActionBarTabs 的文本设置为所有大写,所以我这样做是为了将文本设置为
我是一名优秀的程序员,十分优秀!