在我的xamarin android应用程序中,我的布局中有一个TabWidget。问题是我想将图像设置到选项卡但从未显示过。我只看到文字。我不知道错了。
这是我的tabWidget的 在我的活动中,我有这段代码 这是CreateTab方法 这是传递可绘制资源的一个例子<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="45" />
CreateTab(typeof(ErythemaGraph), GetString(Resource.String.erythema), GetString(Resource.String.erythema), Resource.Drawable.ic_tab_erythema);
CreateTab(typeof(VitaminDGraph), GetString(Resource.String.vitaminD), GetString(Resource.String.vitaminD), Resource.Drawable.ic_tab_vitaminD);
CreateTab(typeof(AgeingGaph), GetString(Resource.String.ageing), GetString(Resource.String.ageing), Resource.Drawable.ic_tab_ageing);
var tabHost = FindViewById<TabHost>(Android.Resource.Id.TabHost);
tabHost.CurrentTab = PreExposureActivityFragment.tabView;
var tabWidget = FindViewById<TabWidget>(Android.Resource.Id.Tabs);
for (int i = 0; i < tabWidget.ChildCount; ++i)
{
View tabView = tabWidget.GetChildTabViewAt(i);
TextView tv = (TextView)tabView.FindViewById(Android.Resource.Id.Title);
tv.Typeface = Typeface.CreateFromAsset(ssets, "fonts/Montserrat_Light.ttf");
}
private void CreateTab(Type activityType, string tag, string label, int drawableId)
{
var intent = new Intent(this, activityType);
intent.AddFlags(ActivityFlags.NewTask);
var spec = TabHost.NewTabSpec(tag);
var drawableIcon = Resources.GetDrawable(drawableId);
spec.SetIndicator(label, drawableIcon);
spec.SetContent(intent);
TabHost.AddTab(spec);
}
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_tab_purple"
android:state_selected="true"/>
<item android:drawable="@drawable/ic_tab_grey"/>
</selector>