TabHost里面的对话框..?

时间:2013-03-12 09:34:03

标签: android dialog android-tabhost

我可以在Dialog中使用TabHost吗?我的应用程序扩展了活动(非Tab-Activity)。 另一个问题是如何在按下选项卡时调用函数。

请给我一个简单的例子。

提前致谢

2 个答案:

答案 0 :(得分: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();
                  }
    });

答案 1 :(得分: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);