我有一个应用程序(用于Honeycomb),主要活动显示一种仪表板,有三个按钮和一个标题。当用户单击按钮时,他们将被带到可以输入数据并进行计算的屏幕。我希望在第二个('计算器')活动中有两种计算方法,并希望通过在操作栏中设置两个选项卡来实现这一点(仅当您参与此计算器活动时)。
我之前没有使用过tabhost小部件或标签,所以如何在操作栏中更改标签小部件并更改屏幕的其余部分(除了操作栏和系统栏之外的所有内容)标签是否被选中?
如果有人可以指向我专门针对Honeycomb操作栏标签的某些源代码,那就太棒了。
感谢您的帮助,祝您度过愉快的一天。
答案 0 :(得分:1)
请参阅使用操作栏标签的Honycomb Gallery。
答案 1 :(得分:1)
操作栏中的标签是一个非常简洁的功能。为了在SO上完成这个问题,我将提供一个例子;此代码包含在Activity的onCreate
中final ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// remove the activity title to make space for tabs
actionBar.setDisplayShowTitleEnabled(false);
// instantiate some fragments for the tabs
Fragment fragment1 = new Fragment1();
Fragment fragment2 = new Fragment2();
// add a new tab and set its title text and tab listener
actionBar.addTab(actionBar.newTab().setText(R.string.title_tab1)
.setTabListener(new MyTabListener(fragment1)));
actionBar.addTab(actionBar.newTab().setText(R.string.title_tab2)
.setTabListener(new MyTabListener(fragment2)));
您可以将MyTablListener作为活动的内部类,它可能看起来像这样;
class MyTabListener implements ActionBar.TabListener {
private Fragment fragment;
public MyTabListener(Fragment fragment) {
this.fragment = fragment;
}
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
ft.replace(R.id.activity_new_formula_fragment_content, fragment, null);
}
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
ft.remove(fragment);
}
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
}
}