侧拉 l

##核心代码
        //显示标题栏左边icon
        //actionBar是4.0    getActionBar()
        //不要使用getActionBar
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

getSupportFragmentManager()
                .beginTransaction()
                .replace(R.id.left_drawer, new LeftDrawerFragment())
                .commit();

drawer = findViewById(R.id.drawer);
        //DrawerLayout 和 ActionBar(Toolbar)中间人
        toggle = new ActionBarDrawerToggle(this, drawer,
                R.string.drawer_open, R.string.drawer_close);
        //同步状态
        toggle.syncState();
        //Drawer监听
        drawer.addDrawerListener(toggle);

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        //先交给toggle处理
        if (toggle.onOptionsItemSelected(item)) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

//关闭侧拉菜单
    public void closeDrawer() {
        drawer.closeDrawer(Gravity.START);
    }

public void switchPage(int position){
viewPager.setCurrentItem(position-1);
drawerclose();
}
menus.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                if(position == 0) {
                    ((MainActivity)getActivity()).closeDrawer();
                    return;
                }
                ((MainActivity)getActivity()).switchPage(position - 1);
            }
        });

##适配器

public class Leftadapter extends BaseAdapter {
private Context context;
private String[] s;

public Leftadapter(Context context) {
    this.context = context;
    s = new String[]{"","首页","联系人","我的"};
}

@Override
public int getCount() {
    return s.length;
}

@Override
public String getItem(int position) {
    return s[position];
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public int getViewTypeCount() {
    return 2;
}

@Override
public int getItemViewType(int position) {
    if (position==0){
        return 0;
    }
    return 1;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
   if (getItemViewType(position)==0){
       TopViewHolder topViewHolder = null;
       if (convertView==null){
           convertView = LayoutInflater.from(context).inflate(R.layout.lefttop_item,parent,false);
            topViewHolder = new TopViewHolder(convertView);
       }  else {
           topViewHolder = (TopViewHolder) convertView.getTag();
       }

   }else {
       ViewHolder viewHolder = null;
       if (convertView==null){
           convertView = LayoutInflater.from(context).inflate(R.layout.lefttop_item,parent,false);
           viewHolder = new ViewHolder(convertView);
       }  else {
           viewHolder = (ViewHolder) convertView.getTag();
       }
       viewHolder.name.setText(getItem(position));
   }
    return convertView;
}
class TopViewHolder{
    ImageView img;
    TextView name;

    public TopViewHolder(View convertView) {
       img = convertView.findViewById(R.id.img);
       name = convertView.findViewById(R.id.name);
       convertView.setTag(this);
    }


}
class ViewHolder{
    TextView name;

    public ViewHolder(View convertView) {
        name = convertView.findViewById(R.id.name);
        convertView.setTag(this);
    }
}

作者:weixin_44022413
来源:CSDN
原文:https://blog.csdn.net/weixin_44022413/article/details/84895333
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/weixin_43920581/article/details/85140613