gpt4 book ai didi

android - 某些样式在 TextView 中禁用 ImageSpan

转载 作者:行者123 更新时间:2023-11-30 03:25:50 27 4
gpt4 key购买 nike

我有一个应用程序,它通过使用自定义 View 并在文本中设置 ImageSpan 来在操作栏中的选项卡标题旁边添加一个小图形,请参见下文。

    private void NotifyTab ( int state )
{
Console.WriteLine("Notifying tab " + state );

var tab = SupportActionBar.GetTabAt( state ).CustomView as TextView;
String title;

if ( ARTIST == state )
{
title = GetString( Resource.String.menu_artists );
}
else
{
title = GetString( Resource.String.menu_friends );
}

SpannableString text = new SpannableString( " " + title );
ImageSpan icon = new ImageSpan( this, Resource.Drawable.ico_indicator, SpanAlign.Baseline );
text.SetSpan( icon, 0, 1, SpanTypes.InclusiveInclusive );

tab.SetText( text, TextView.BufferType.Spannable );
}

这段代码工作正常,直到我将相同的样式应用于选项卡,因为操作栏选项卡使用 Widget.Sherlock.ActionBar.TabText 一旦我这样做了 ImageSpan 停止工作。

有谁知道是什么属性导致的,是否有解决方法?请问是强制使用全大写还是衬线字体导致的。

最佳答案

解决了,原来是

<item name="android:textAllCaps">true</item>

是有罪的一方,当删除 ImageSpan 时出现。一个简单的解决方法是将字符串资源大写,问题就消失了。

关于android - 某些样式在 TextView 中禁用 ImageSpan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18271269/

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