SlidingMenu实现侧滑

来源:互联网 发布:闪客是什么意思网络语 编辑:程序博客网 时间:2024/05/01 17:37

/**
 * Mactivity
 */

package xixinxin.bawie.com.slidingmenu_study.activity;

import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.widget.FrameLayout;


import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;


import xixinxin.bawie.com.slidingmenu_study.R;
import xixinxin.bawie.com.slidingmenu_study.fragment.HomeFragment;
import xixinxin.bawie.com.slidingmenu_study.fragment.MenuFragment;


public class MainActivity extends AppCompatActivity {


    private FrameLayout fram;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
//找控件
        initView();
        //创建SlidingMenu
        SlidingMenu slidingMenu=new SlidingMenu(this);
        //设置侧滑方向   从左往右
        slidingMenu.setMode(SlidingMenu.LEFT);
//设置整屏滑出
//slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
//设置不让滑出
//slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE);
        //设置侧滑宽度
        slidingMenu.setBehindOffset(200);
        //设置让侧滑依附于activity之上
        slidingMenu.attachToActivity(MainActivity.this,SlidingMenu.SLIDING_CONTENT);
        //设置侧滑布局
        slidingMenu.setMenu(R.layout.menu);
        initFragment();
    }


    private void initFragment() {
//开启事务
        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
//替换
        transaction.replace(R.id.menu,new MenuFragment());
//提交
        transaction.commit();
        getSupportFragmentManager().beginTransaction().replace(R.id.fram,new HomeFragment()).commit();
    }


    private void initView() {
        fram = (FrameLayout) findViewById(R.id.fram);
    }

}




/**
 * 适配器
 */
public class MyViewAdapter extends FragmentPagerAdapter{
    private List<Fragment> list;
    private List<String> title;


    public MyViewAdapter(FragmentManager fm, List<Fragment> list, List<String> title){
        super(fm);
        this.list = list;
        this.title = title;
    }
    @Override
    public Fragment getItem(int position) {
        return list.get(position);
    }


    @Override
    public int getCount() {
        return list.size();
    }

//设置滑动页与tablayout标题相关联
    @Override
    public CharSequence getPageTitle(int position) {
        return title.get(position);
    }

}



/**
 *  //设置TabLayout模式     系统固定模式
        tab.setTabMode(TabLayout.MODE_SCROLLABLE);
        MyViewAdapter adapter=new MyViewAdapter(getActivity().getSupportFragmentManager(),fragments,titles);
        vp.setAdapter(adapter);
        //将tablayout和viewpager关联
        tab.setupWithViewPager(vp);
        tab.setTabsFromPagerAdapter(adapter);
 */



/**
 * 布局文件
 */

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">


    <android.support.design.widget.TabLayout
        android:id="@+id/tab"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        app:tabSelectedTextColor="#ff0000"  
        app:tabTextColor="@android:color/black"
        app:tabIndicatorColor="#ff0000"></android.support.design.widget.TabLayout>
    <android.support.v4.view.ViewPager
        android:id="@+id/vp"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"></android.support.v4.view.ViewPager>
</LinearLayout>

1 0
原创粉丝点击