美文网首页
Android NavigationView的使用详解以及各种问

Android NavigationView的使用详解以及各种问

作者: 就想换个名 | 来源:发表于2017-04-18 15:49 被阅读0次

    一:先看效果图

    这个效果图分为三部分:头布局 menu(即中间的item部分) 尾布局

    二:NavigationView的定义

    Android5.0以前。我们做抽屉菜单的时候,左或右边滑出来的那一部分的布局都是由我们自定义的。于是Google在5.0之后推出了NavitationView,就是我们左边滑出来的这个菜单。这个菜单整体上分为两部分,上面一部分叫做HeaderLayout,下面的那些点击项都是menu。

    三:Navigation的使用(直接上代码)

                                           

    解释:

    这是主界面

    这是侧滑界面

    android:layout_gravity="start"或者Android:layout_gravity="left" :表示侧滑菜单从左边滑出,改成right变为从右边滑出。

    app:headerLayout="@layout/nav_header_main"  :表示头布局

    app:menu="@menu/activity_main_drawer"  :中间部分,menu的点击部分

    头布局代码:layout/nav_header_main

               

    menu/activity_main_drawer布局

                                       

    四:出现的问题

    Q1:怎么在item中间加一条分割线

    Answer:把item放在group里面。注意group要有id。

    代码:           

    Q2:怎么获得头布局的控件

    Answer:

    View headerView =navigationView.getHeaderView(0);//获得头布局

    获取imageview

    ImageViewmImgPersonHead= (ImageView) headerView.findViewById(R.id.img_person_head);Q3:Item的点击事件:

    navigationView.setNavigationItemSelectedListener(newNavigationView.OnNavigationItemSelectedListener() {@Overridepublic booleanonNavigationItemSelected(MenuItem item) {//在这里处理item的点击事件

    switch(item.getItemId()) {

    caseR.id.xxx:startActivity(newIntent(this,xxxActivity.class));break;

    }return true;

    })

    Q4:怎么添加尾布局

    Answer:看上面的代码,只要在NavigationView里面,加入想要的尾布局内容就可以

    Q5:怎么设置item中icon的颜色

    1.app:itemBackground="@color/colorAccent"设置每一个item的背景颜色

    2.app:itemTextColor=""设置item的背景颜色

    3.代码中设置:navigationView.setItemIconTintList(null); //显示icon本身的颜色

    Q6:怎么设置item中icon的大小:

    在dimens 文件中加入该属性:

    48dp

    原理:

    查看NavigationView中的源码,最终发现在 NavigationMenuItemView这个类中实现时,是采用以下方式获取大小的:

    public NavigationMenuItemView(Context context, AttributeSet attrs, int defStyleAttr) {

    super(context, attrs, defStyleAttr);

    this.mIconSize = context.getResources().getDimensionPixelSize(dimen.navigation_icon_size);

    }

    Finl:最后 欢迎各位补充。有问题欢迎批评

    相关文章

      网友评论

          本文标题:Android NavigationView的使用详解以及各种问

          本文链接:https://www.haomeiwen.com/subject/wdpwwttx.html