當前位置:編程學習大全網 - 源碼下載 - 如何實現android菜單欄衷謁衋ctivity底部

如何實現android菜單欄衷謁衋ctivity底部

您好,很高興為您解答。ViewPagerMenuViewPagerActivity.java常見控件ViewPager,多用於左右滑動頁面。此處實現底部菜單欄,當然也保留了左右滑動頁面的功能。packagecom.wisdom.viewpager;importjava.util.ArrayList;importcom.wisdom.main.BaseActivity;importcom.wisdom.main.R;importcom.wisdom.model.BottomViewItem;importandroid.os.Bundle;importandroid.support.v4.view.ViewPager;importandroid.support.v4.view.ViewPager.OnPageChangeListener;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.ImageView;importandroid.widget.LinearLayout;importandroid.widget.TextView;publicclassViewPagerActivityextendsBaseActivityimplementsOnClickListener,OnPageChangeListener{ViewPagerviewPager;ViewPagerAdapterviewAdapter;BottomViewItemitem;ArrayListmViewItems=newArrayList();@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.viewpager_layout);item=BottomViewItem.getInstance();initViews();setTabSelection(0);}/***控件初始化*/privatevoidinitViews(){viewPager=(ViewPager)findViewById(R.id.main_viewpager);for(inti=0;imViewItems;/***當前頁面的布局*/privateViewconvertView;publicViewPagerAdapter(ViewPagerActivitycontext,ArrayListviewItems){mContext=context;mViewItems=viewItems;}@OverridepublicvoiddestroyItem(ViewGroupcontainer,intposition,Objectobject){container.removeView(mViewItems.get(position));}@OverridepublicObjectinstantiateItem(ViewGroupcontainer,intposition){convertView=mViewItems.get(position);//此處自定義頁面數據處理container.addView(mViewItems.get(position));returnmViewItems.get(position);}@OverridepublicintgetCount(){if(mViewItems==null||mViewItems.size()==0)return1;returnmViewItems.size();}@OverridepublicbooleanisViewFromObject(Viewarg0,Objectarg1){returnarg0==arg1;}}FragmentMenu1、BaseFragment.java此類作用同BaseView類似,作為實現單個頁面的父類。通過設置不用的xml布局文件返回不用的頁面View。packagecom.wisdom.fragment;importandroid.app.Fragment;importandroid.os.Bundle;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;publicclassBaseFragmentextendsFragment{@OverridepublicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){returninflater.inflate(getArguments().getInt("layoutId"),container,false);}}2、FragmentActivity.java頁面展示主類文件,通過設置不同xml布局,展示不同頁面。packagecom.wisdom.fragment;importjava.util.HashMap;importjava.util.Map;importcom.wisdom.main.BaseActivity;importcom.wisdom.main.R;importcom.wisdom.model.BottomViewItem;importandroid.app.FragmentManager;importandroid.app.FragmentTransaction;importandroid.os.Bundle;importandroid.view.View;importandroid.view.Window;importandroid.view.View.OnClickListener;importandroid.widget.ImageView;importandroid.widget.LinearLayout;importandroid.widget.TextView;publicclassFragmentActivityextendsBaseActivityimplementsOnClickListener{/***對fragment進行增刪替換處理的實例*/privateFragmentTransactiontransaction;/***首次創建頁面的臨時fragment*/privateBaseFragmentnewFragment;/***fragment構造函數不建議帶參數,So如此傳遞xml布局參數*/privateBundleargs=newBundle();/***底部菜單欄初始化所有控件類的壹個實例*/privateBottomViewItemitem;/***用於存放所有新建的fragment*/privateMapfragmentMap;/***fragment管理器*/privateFragmentManagerfragmentManager;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.fragment_layout);item=BottomViewItem.getInstance();fragmentMap=newHashMap();initViews();fragmentManager=getFragmentManager();setTabSelection(0);}/***底部菜單欄控件初始化*/privatevoidinitViews(){for(inti=0;i

  • 上一篇:中國3C認證的其它
  • 下一篇:本科生如何系統學習前端開發?
  • copyright 2024編程學習大全網