Табхост в панели действий приложения «Соты»? - PullRequest
0 голосов
/ 25 июня 2011

У меня есть приложение (для Honeycomb) с основным действием, которое показывает своего рода панель инструментов, с тремя кнопками и заголовком. Когда пользователь нажимает кнопку, он выводится на экран, где он может вводить данные и выполнять вычисления. Я хотел бы использовать два подхода к расчетам в этом втором («калькулятор») действии и хотел бы реализовать это, имея две вкладки на панели действий (только когда вы находитесь в этом задании калькулятора).

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

Если бы кто-то мог указать мне на какой-то исходный код специально для вкладок панели действий Сота, это было бы здорово.

Спасибо за любую помощь, и хорошего дня.

Ответы [ 2 ]

1 голос
/ 30 октября 2011

Вкладки на панели действий - очень удобная функция. Чтобы завершить этот вопрос здесь на SO, я приведу пример; Этот код входит в 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) {
    }
}
1 голос
/ 25 июня 2011

См. Галерея Honycomb , в которой используются вкладки панели действий.

...