我的活动使用ActionBar.setSubtitle函数来显示当前显示的文件系统位置的完整路径。这意味着字幕结尾处的子字符串比开头更相关,所以我认为我应该重写ActionBar样式,以在开头而不是结尾省略文字,如下所示:

res / values / themes.xml 通用标签

res / values / styles.xml 通用标签

当我将其安装到ICS设备(Nexus S)上时,最后的文本仍然(不正确)为椭圆形。如果我修改了TextAppearance.Holo.Widget.ActionBar.Subtitle的版本,使其包含android:textSize的项目,那么字幕的文本大小会相应地发生变化,因此好像我在拨弄正确的样式。我只是想不出为什么它不尊重我的基因编码标签覆盖。

将所有内容都转换为问题格式:如何使用样式/主题覆盖android:ellipsize中字幕视图的android:ellipsize属性?

有帮助吗?

解决方案

在我看来,主题和样式是不可能的,但是我找到了一种在运行时设置ellipsize值的解决方法。

最困难的是找到标题(或字幕)TextView,因为此视图的ID在内部android程序包中。

因此您需要在项目中创建存根类 通用标签

之后,您需要在代码中找到该视图(我使用以下代码来完成此操作,它既适用于夏洛克,也适用于默认操作栏) 通用标签

现在您可以在活动代码中设置椭圆尺寸值: 通用标签


PS: 确保在标题可见时(在setDisplayShowTitleEnabled(true)调用之后)调用getActionBarTitle,否则将获得NullPointerException。

PPS: 如果使用proguard混淆,则应添加proguard.cfg: 通用标签

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top