如何在android中制作自定义导航抽屉

时间:2017-04-28 13:34:03

标签: android android-layout

我正在设计自定义导航抽屉,如下图所示。我正在使用android工作室提供的导航抽屉,但我需要像这样更改。我该怎么做?enter image description here

3 个答案:

答案 0 :(得分:1)

如果您谈论放大镜,我认为您会想要使用将视图捕获为位图的内容,然后裁剪并缩放位图。隐藏视图的一个例子可能就是这个

public static Bitmap getBitmapFromView(View v) {
   Bitmap returnedBitmap = Bitmap.createBitmap(v.getWidth(),
   v.getHeight(),Bitmap.Config.ARGB_8888);
   Canvas canvas = new Canvas(returnedBitmap);
   v.layout(0, 0, v.getLayoutParams().width,
   v.getLayoutParams().height);
   v.draw(canvas);
   return returnedBitmap;
}

然后,您可能希望将位图应用于画布,然后缩放,裁剪并绘制画布以获得所需的外观。

如果您只是在谈论背景,那么您必须制作一个自定义列表视图,其中已有大量教程 这是一个很好的链接:http://www.journaldev.com/10416/android-listview-with-custom-adapter-example-tutorial

答案 1 :(得分:0)

您需要借助listView或RecyclerView制作导航抽屉,并为其创建customAdapter。您可以从link

获得帮助

答案 2 :(得分:0)

我有更简单的方法,不会让你麻烦。看一看。这个功能应该在onCreate函数下。

NavigationView rightNavigationView = (NavigationView) findViewById(R.id.nav_right_view);
        rightNavigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(MenuItem item) {
                // Handle Right navigation view item clicks here.
                int id = item.getItemId();

                if (id == R.id.nav_settings) {
                    Toast.makeText(Home.this, "Right Drawer - Settings", Toast.LENGTH_SHORT).show();
                } else if (id == R.id.nav_logout) {
                    Toast.makeText(Home.this, "Right Drawer - Logout", Toast.LENGTH_SHORT).show();
                } else if (id == R.id.nav_help) {
                    Toast.makeText(Home.this, "Right Drawer - Help", Toast.LENGTH_SHORT).show();
                } else if (id == R.id.nav_about) {
                    Toast.makeText(Home.this, "Right Drawer - About", Toast.LENGTH_SHORT).show();
                }

                drawer.closeDrawer(GravityCompat.END); /*Important Line*/
                return true;
            }
        });

现在转到菜单文件夹并创建一个xml文件,您可以在其中决定抽屉布局的外观Your xml file under menu folder