其他分享
首页 > 其他分享> > Android Tabhost问题 – .setIndicator

Android Tabhost问题 – .setIndicator

作者:互联网

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

我已经谷歌搜索“Android Tabhost”但未能找到解决方案.

我的问题是:

如果有< 3 tab,那就没关系了.

如果我们有4个选项卡,其指标标题为TabHost1,TabHost2,TabHost3,TabHost4).但Tab中的这个标题并没有配上标签.那么有没有办法在标签内放置标题文本(即指标)?

解决方法:

我认为我们问题的根源在于框架代码中的某个地方.果然,我找到了一些线索:

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

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

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

标签:android,android-widget,android-tabhost,tabwidget
来源: https://codeday.me/bug/20190621/1257729.html