有人可以解释一下这个吗?我无法在开发人员文档中找到足够的信息。 当项目显示为操作并且长按图标显示包含标题的吐司时,它是否也适用。
答案 0 :(得分:9)
简而言之:当空间保存得很好时就会出现。
我在Galaxy S4 4.4.2上拍照。
第一张图片是风景图,只有三个与选择相关的图标,您可以看到在那里使用了精简标题:
但是,如果我不提供titleCondensed
它使用title
,它显然适合:
完整title
用于空间不存在的任何其他地方,例如"工具提示" (长按操作栏图标,内部称为cheat sheet)或溢出菜单:
...这是我使用的代码的一部分(appcompat-v7
):
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<!-- Possibly more items like "Edit Item" and "Delete Item" below -->
<item android:id="@+id/action_select_all"
android:icon="@drawable/ic_action_select_all"
android:title="Select All"
android:titleCondensed="All"
app:showAsAction="ifRoom|withText" />
<!-- Same for Select None <-> None -->
<!-- Same for Invert Selection <-> Invert -->
</menu>
以上所有都是经验观察,因此可能不完整,但我很好奇,所以这里有Android代码点实现如下:
请注意internal
包,这些来自框架而不是支持库!
MenuItemImpl.getTitleForItemView
根据prefersCondensedTitle
返回标题,其中有三个实现:
ActionMenuItemView
:true
ListMenuItemView
:false
IconMenuItemView
:true
答案 1 :(得分:3)
http://developer.android.com/guide/topics/resources/menu-resource.html
简单地说,titleCondensed是当标题字符串对于显示它的设备来说太长时你想要显示的标题。