日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SlidingMenu的使用,结合Fragment(eclipse环境)

發(fā)布時間:2023/12/13 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SlidingMenu的使用,结合Fragment(eclipse环境) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

首先下載SlidingMenu,有Library和Sample,然后在自己的項(xiàng)目中引入類庫(引入智慧北京工作空間的Library),然后V4包會發(fā)生沖突,刪掉自己項(xiàng)目Libs目錄下的V4包即可

側(cè)滑布局和主界面布局都先用一個空布局填充一下(FrameLayout),

UI框架搭建簡介:整個界面就是一個MainActivity,MainActivity左邊是一個滑動側(cè)邊欄,是一個Fragment;MainActivity主體又是一個Fragment(三個Fragment中的某一個),左側(cè)邊欄Fragment依附于MainActivity,三個主體Fragment依附于側(cè)邊欄Fragment

項(xiàng)目的代碼結(jié)構(gòu):

?

MainActivity的代碼:

//一打開程序默認(rèn)就是讀者Fragment public class MainActivity extends SlidingFragmentActivity{//改為Public @Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);//把主布局設(shè)置為空布局(FrameLayout) setBehindContentView(R.layout.left_menu);//把左側(cè)邊欄布局設(shè)置為空布局SlidingMenu slidingMenu = getSlidingMenu();//設(shè)置觸摸模式為全屏觸摸 slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//設(shè)置預(yù)留屏幕的寬度為110dpslidingMenu.setBehindOffset(SizeUtils.dip2px(MainActivity.this, 110));FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();//把左側(cè)菜單的空布局替換成Fragment,注意,一定是用R.id,即FrameLayout的ID//而不是R.layout,不是布局文件的IDtransaction.replace(R.id.left_menu, new FragmentLeft());//把主內(nèi)容的空FrameLayout的ID替換成讀者Fragmenttransaction.replace(R.id.activity_main, new ReaderFragment(MainActivity.this));transaction.commit();}}

?

?

左側(cè)菜單Fragment的布局:

/**左側(cè)菜單的Fragment,在左側(cè)菜單Fragment里面處理點(diǎn)擊事件*/ public class FragmentLeft extends Fragment implements OnClickListener {private View view;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {view = View.inflate(getActivity(), R.layout.left_menu_fragment, null);initView();return view;}private void initView() {//左側(cè)菜單的讀者TextView tv_duzhe= (TextView) view.findViewById(R.id.tv_duzhe);//左側(cè)菜單的充值TextView tv_pay= (TextView) view.findViewById(R.id.tv_pay);//左側(cè)菜單的收藏TextView tv_collect= (TextView) view.findViewById(R.id.tv_collect);tv_duzhe.setOnClickListener(this);tv_pay.setOnClickListener(this);tv_collect.setOnClickListener(this);}@Overridepublic void onClick(View v) {//獲取SlidingMenuSlidingFragmentActivity activity= (SlidingFragmentActivity)getActivity();SlidingMenu slidingMenu = activity.getSlidingMenu();switch (v.getId()) {case R.id.tv_duzhe:ReaderFragment readerFragment = new ReaderFragment(getActivity());getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.activity_main, readerFragment).commit();slidingMenu.toggle();break;case R.id.tv_pay://當(dāng)每次點(diǎn)擊充值時,就用充值Fragment替換主布局,主布局就是一個FrameLayoutPayFragment payFragment = new PayFragment(getActivity());getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.activity_main, payFragment).commit();//Fragment替換之后,就關(guān)閉側(cè)邊欄 slidingMenu.toggle();//如果側(cè)邊欄是打開的,就關(guān)閉,反之亦然break;case R.id.tv_collect:
       //收藏FragmentgetActivity().getSupportFragmentManager().beginTransaction().replace(R.id.activity_main,
new CollectFragment(getActivity())).commit();slidingMenu.toggle();break;default:break;}} }

?

?

讀者的Fragment,Fragment里的布局就是兩個字,其它兩個Fragment一模一樣,就不寫了

/**讀者的Fragment*/ public class ReaderFragment extends Fragment {private Context context;/**由于ReaderFragment是依附于側(cè)邊欄Fragment的,所以不能用getActivity()來獲取上下文,必須傳過來*/public ReaderFragment(Context context){this.context=context;}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {System.out.println("讀者Fragment");View view = View.inflate(context, R.layout.fragment_duzhe, null);return view;} }

這就是類似于讀者APP的界面,運(yùn)行效果圖如下:

轉(zhuǎn)載于:https://www.cnblogs.com/android-yus/p/4950423.html

總結(jié)

以上是生活随笔為你收集整理的SlidingMenu的使用,结合Fragment(eclipse环境)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。