我可以在Dialog中使用TabHost吗?我的应用程序扩展了活动(非Tab-Activity)。 另一个问题是如何在按下选项卡时调用函数。
请给我一个简单的例子。
提前致谢
答案 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);