ActionBar初识

来源:互联网 发布:淘宝号权重值是什么 编辑:程序博客网 时间:2024/06/06 02:59

Actionbar就是替换3.0以前的tittle bar和menu。

@SuppressLint("NewApi")    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ActionBar bar = getActionBar();        vp = (ViewPager) findViewById(R.id.vp);        vp.setOffscreenPageLimit(0);        //设置显示模式为tab形式,也可选择为list        bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);        //设置不显示标题栏        bar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE                | ActionBar.DISPLAY_SHOW_HOME);        mTabsAdapter = new TabsAdapter(this, vp);        mTabsAdapter.addTab(bar.newTab().setText("李飞"), TestOne.class, null);        mTabsAdapter.addTab(bar.newTab().setText("李冉"), TestTwo.class, null);        mTabsAdapter.addTab(bar.newTab().setText("李丹"), TestThree.class, null);        bar.setSelectedNavigationItem(0);    }
@SuppressLint("NewApi")    public static class TabsAdapter extends FragmentPagerAdapter implements            ActionBar.TabListener, ViewPager.OnPageChangeListener {        private final Context mContext;        private final ActionBar mActionBar;        private final ViewPager mViewPager;        private final ArrayList<TabInfo> mTabs = new ArrayList<TabInfo>();        static final class TabInfo {            private final Class<?> clss;            private final Bundle args;            private Fragment fragment;            TabInfo(Class<?> _class, Bundle _args) {                clss = _class;                args = _args;            }        }        public TabsAdapter(Activity activity, ViewPager pager) {            super(activity.getFragmentManager());            mContext = activity;            mActionBar = activity.getActionBar();            mViewPager = pager;            mViewPager.setAdapter(this);            mViewPager.setOnPageChangeListener(this);        }        public void addTab(ActionBar.Tab tab, Class<?> clss, Bundle args) {            TabInfo info = new TabInfo(clss, args);            tab.setTag(info);            tab.setTabListener(this);            mTabs.add(info);            mActionBar.addTab(tab);            notifyDataSetChanged();        }        @Override        public int getCount() {            return mTabs.size();        }        @Override        public Fragment getItem(int position) {            TabInfo info = mTabs.get(position);            if (info.fragment == null) {                info.fragment = Fragment.instantiate(mContext,                        info.clss.getName(), info.args);            }            return info.fragment;        }        @Override        public void onPageScrolled(int position, float positionOffset,                int positionOffsetPixels) {        }        @Override        public void onPageSelected(int position) {            mActionBar.setSelectedNavigationItem(position);        }        @Override        public void onPageScrollStateChanged(int state) {        }        @Override        public void onTabSelected(Tab tab, FragmentTransaction ft) {            Object tag = tab.getTag();            for (int i = 0; i < mTabs.size(); i++) {                if (mTabs.get(i) == tag) {                    mViewPager.setCurrentItem(i);                }            }        }        @Override        public void onTabUnselected(Tab tab, FragmentTransaction ft) {        }        @Override        public void onTabReselected(Tab tab, FragmentTransaction ft) {        }    }
0 0
原创粉丝点击