如何在xamarin android上创建操作栏选项卡?

时间:2016-04-08 12:04:53

标签: android xamarin xamarin.android

在Main.axml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <FrameLayout
        android:id="@+id/fragmentContainer"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1" />
</LinearLayout>

进入MainActivity.cs

 protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            // Get our button from the layout resource,
            // and attach an event to it
            //Button button = FindViewById<Button>(Resource.Id.MyButton);

            // button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); };

            // enable navigation mode to support tab layout
            this.ActionBar.NavigationMode = ActionBarNavigationMode.Tabs;

            //adding genres tab
            AddTab("Genres", new GenresFragment());
            //adding music tab
            AddTab("Music", new MusicFragment());
            //
        }

        /*
         tabText:title to be displayed in tab
         iconResourceId: image/source id
         fragment:fragment reference
         */

        void AddTab(string tabText, Fragment fragment)
        {
            var tab = this.ActionBar.NewTab();
            tab.SetText(tabText);
            // if using icon-> tab.SetIcon(iconResourceId)

            //must set event handler for replacing tabs tab

            tab.TabReselected += delegate (object sender, ActionBar.TabEventArgs e)
              {
                  e.FragmentTransaction.Replace(Resource.Id.fragmentContainer, fragment);
              };
            this.ActionBar.AddTab(tab);
        }

第一个,我遇到的问题是** Resource.Id.fragmentContainer不包含fragmentContainer的定义。 **。

我是xamarin的新开发者(visual studio 2015)。所以请大家帮我解决这个问题。

1 个答案:

答案 0 :(得分:2)

步骤1:在SetContentView(Resource.Layout.Main);上方,添加以下代码。

<?php endwhile; 
wp_reset_query(); ?>

第2步:在OnCreate方法

中添加这些代码
ActionBar.NavigationMode = ActionBarNavigationMode.Tabs;

如果您需要支持旧设备,请包含AppCompat库并从ActionBarActivity继承您的Activity类。