这个示例是使用 C# 在 Xamarin 中创建的,如果您知道 Java 中的答案,我也可以将其转换为 C#
我正在使用FragmentPagerAdapter http://developer.android.com/reference/android/support/v4/app/FragmentPagerAdapter.html将三个不同的片段显示为选项卡。我可以在选项卡标题中显示一些文本,如下所示:
public override Java.Lang.ICharSequence GetPageTitleFormatted(int position)
{
return new Java.Lang.String("Tab: " + position);
}
这工作得很好:我看到三个带有标题的选项卡Tab: 0
, Tab: 1
and Tab: 2
.
现在,我想用一些图标替换文本。我正在尝试这样做,就像寻呼机滑动选项卡条 https://stackoverflow.com/questions/29534420/how-can-i-develop-the-pagerslidingtabstrip-with-images-in-android/29535378#29535378, 用一个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]
作为标题。看起来好像图标根本没有添加到标题中。
我在这里做错了什么吗?谢谢你的帮助!