0

我可以在对话框中使用 TabHost。我的应用程序扩展了活动(不是选项卡活动)。另一个问题是如何在按下选项卡时调用函数。

请给我一个简单的例子。

提前致谢

4

2 回答 2

7

是的,我们可以在 Dialog 中调用 Tab Host:

  button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
        Toast.makeText(context, "dialog", 1).show();    
                   // custom dialog
                    final Dialog dialog = new Dialog(context);
                    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
                    dialog.setContentView(R.layout.dialo);
                    dialog.setTitle("Title...");

                    TabHost tabs = (TabHost) dialog.findViewById(R.id.tabhost);

                    tabs.setup();

                    TabHost.TabSpec tabpage1 = tabs.newTabSpec("one");
                    tabpage1.setContent(R.id.tabview1);
                    tabpage1.setIndicator("",getResources().getDrawable(R.drawable.one));

                    TabHost.TabSpec tabpage2 = tabs.newTabSpec("two");
                    tabpage2.setContent(R.id.tabview2);
                    tabpage2.setIndicator("",getResources().getDrawable(R.drawable.two));

                    tabs.addTab(tabpage1);
                    tabs.addTab(tabpage2);



                    dialog.show();
                  }
    });
于 2013-03-12T10:08:23.623 回答
1

制作一个 HostTab 布局并命名每个线性/相对布局并声明我创建的每个选项卡以使用它们声明的 xml 文件中的线性/相对布局......

dialog.setContentView(R.layout.maintabmenu);
TabHost tabs = (TabHost) dialog.findViewById(R.id.my_tabhost);
tabs.setup();
tabs.setCurrentTab(0);

TabSpec tspec11 = tabs.newTabSpec("Tab1");
tspec11.setIndicator("NEWTAB");

tspec11.setContent(R.id.ScrollView01);
tabs.addTab(tspec11);

TabSpec tspec2 = tabs.newTabSpec("Tab2");
tspec2.setIndicator("NEWTAB");

tspec2.setContent(R.id.ScrollView02);
tabs.addTab(tspec2);
于 2013-03-12T09:42:13.267 回答