【发布时间】:2015-09-25 09:43:47
【问题描述】:
这个例子是在 Xamarin 中使用 C# 创建的,如果你知道 Java 的答案,我也可以将它转换成 C#
我正在使用FragmentPagerAdapter 将三个不同的片段显示为选项卡。我可以在 Tab 标题中显示一些文本,如下所示:
public override Java.Lang.ICharSequence GetPageTitleFormatted(int position)
{
return new Java.Lang.String("Tab: " + position);
}
这很好用:我看到三个标题为 Tab: 0、Tab: 1 和 Tab: 2 的标签。
现在,我想用一些图标替换文本。我正在尝试与PagerSlidingTabStrip 一样,使用SpannableString 和ImageSpan。
public override Java.Lang.ICharSequence GetPageTitleFormatted(int position)
{
var image = Application.Context.Resources.GetDrawable(Resource.Drawable.icon);
image.SetBounds(0, 0, image.IntrinsicWidth, image.IntrinsicHeight);
var spannableString = new Android.Text.SpannableString("[icon]");
var imageSpan = new Android.Text.Style.ImageSpan(image, Android.Text.Style.SpanAlign.Bottom);
spannableString.SetSpan(imageSpan, 0, 1, Android.Text.SpanTypes.ExclusiveExclusive);
return spannableString;
}
遗憾的是,我现在看到的标题是 [icon] 的三倍。看起来好像根本没有将图标添加到标题中。
我在这里做错了吗?感谢您的帮助!
【问题讨论】: