Android 侧滑控件DrawableLayout与Toolbar结合使用+NavigationView

侧拉布局



    
        //利用Toolbar时注意这里的陷阱  要关闭模拟器自带的导航栏
       
       
    
    
    
    

Toolbar 陷阱解决
方式一
Android 侧滑控件DrawableLayout与Toolbar结合使用+NavigationView_第1张图片
方式二
直接在androidmanifest中的application或者activity加入在这里插入图片描述
头部布局





menu布局

在这

    
    
    
    
    
        
        
    
里插入代码片

大致效果如下
Android 侧滑控件DrawableLayout与Toolbar结合使用+NavigationView_第2张图片

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.NavigationView;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
   private NavigationView Navi_View;
    private ImageView mImage;
    //很多api
    private DrawerLayout mDrawerLayout;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_drawtwo);
        initView();
    }
    private void initView() {
        mDrawerLayout = findViewById(R.id.Drawer_Layout);
        Navi_View = (NavigationView) findViewById(R.id.Navi_View);
        //从NavigationView里面获取头布局
        View view = Navi_View.getHeaderView(0);
        mImage = view.findViewById(R.id.Head_Image);
        //头部点击事件
        mImage.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "睡觉觉", Toast.LENGTH_SHORT).show();
            }
        });
        //这个是菜单的点击事件
        Navi_View.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
                switch (menuItem.getItemId()) {
                    case R.id.item_One:
                        Toast.makeText(MainActivity.this, "itemOne", Toast.LENGTH_SHORT).show();
                        mDrawerLayout.closeDrawers();
                        break;
                    case R.id.item_Two:
                        Toast.makeText(MainActivity.this, "itemTwo", Toast.LENGTH_SHORT).show();
                        mDrawerLayout.closeDrawers();
                        break;
                    case R.id.item_Three:
                        Toast.makeText(MainActivity.this, "itemThree", Toast.LENGTH_SHORT).show();
                        mDrawerLayout.closeDrawers();
                        break;

                }
                return false;
            }
        });
    }
}

你可能感兴趣的:(Android 侧滑控件DrawableLayout与Toolbar结合使用+NavigationView)