##核心代码
//显示标题栏左边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
版权声明:本文为博主原创文章,转载请附上博文链接!