gpt4 book ai didi

Android Tabhost 问题 - .setIndicator

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:54 25 4
gpt4 key购买 nike

首先让我澄清一下,我已经提到了与“Android - TAbhost”相关的 SO 问题。

我在谷歌上搜索了“Android Tabhost”,但没有找到解决方案。

我的问题是:

如果有 <3 个选项卡,那就没问题。但支持我们是否有 4 个选项卡,其指示器标题为 TabHost1、TabHost2、TabHost3、TabHost4)。但是 Tab 中的这个标题不适合标签。所以有什么方法可以让标题文本(即指示器)适合标签内的内容吗??

最佳答案

我认为问题的根源出在框架的代码中。果然,我发现了一些线索:

首先,如果您查看 TabWidget code 的内部,您会看到您在 setIndicator 中设置的标签被传递给名为 LabelIndicatorStrategy 的内部类,它将负责膨胀与选项卡顶部相关联的 View 。这种膨胀是使用 xml 文件完成的 tab_indicator.xml .此布局基于包含 ImageViewTextViewRelativeLayout。而如果你查看textview的属性,你会发现它引用了android中的一个样式styles.xml .最后,您意识到我们拥有:

<item name="ellipsize">marquee</item>
<item name="singleLine">true</item>

所以,现在,有 2 个选择:
首先,通过创建您自己的样式来覆盖样式,在我看来这将是真正轻松的方式,然后将这些属性更改为更适合您的内容。虽然结果可能不是很好。这将需要一些测试。
或者,戴上你的手套并从 TabWidget 类复制代码,因为这里的另一个问题是我提到的内部类是...... PRIVATE 所以,如果我没记错的话,不可能继承......所以我认为,很多比 styles.xml 的方式痛苦得多。希望这会激励你,让我知道你得到了什么。我仍然感兴趣。

关于Android Tabhost 问题 - .setIndicator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3446722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com