Монодроидные вкладки вид - PullRequest
       17

Монодроидные вкладки вид

0 голосов
/ 22 сентября 2011

После реализации образца виджета Tabs Я попытался поиграть с ним и добавить третью вкладку только после перехода на вторую вкладку

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

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

        TabHost.TabSpec spec;

        spec = TabHost.NewTabSpec("tab_test1").SetIndicator("TAB 1").SetContent(Resource.Id.textview1);
        TabHost.AddTab(spec);

        spec = TabHost.NewTabSpec("tab_test2").SetIndicator("TAB 2").SetContent(Resource.Id.textview2);
        TabHost.AddTab(spec);

        //spec = TabHost.NewTabSpec("tab_test3").SetIndicator("TAB 3").SetContent(Resource.Id.widget0);
        //TabHost.AddTab(spec);

        TabHost.TabChanged += new EventHandler<Android.Widget.TabHost.TabChangeEventArgs>(TabHost_TabChanged);

        TabHost.CurrentTab = 0;
    }

    void TabHost_TabChanged(object sender, TabHost.TabChangeEventArgs e)
    {
        if (TabHost.TabWidget.TabCount < 3)
        {
            TabHost.TabSpec spec;

            spec = TabHost.NewTabSpec("tab_test3").SetIndicator("TAB 3").SetContent(Resource.Id.widget0);
            TabHost.AddTab(spec);
        }
    }

Проблема заключается в том, что перед первым щелчком по вкладкам я вижу третий вид, наложенный на первый вид, хотя 3-я вкладка появляется только после нажатия второй вкладки. В чем дело?

1 Ответ

2 голосов
/ 28 сентября 2011

Полагаю, это потому, что на третьей вкладке нет вкладки (поскольку мы не создаем TabSpec), поэтому она просто отображает ее прямо на экране.

Вы можете установить контент, который хотите отображать, когда третья вкладка видна невидимой, как показано в примере ниже;

<TextView 
    android:visibility="invisible"
    android:id="@+id/textview3"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:text="this is a third tab" />

, а затем при отображении вкладки текстовое представление снова становится видимым.

Надеюсь, это поможет,

ChrisNTR

...