Android 如何克服导航抽屉中的此项填充?
我检查了所有的问题,还谷歌了很多我只是想删除导航视图中每个项目之间的填充。请帮我解决这个问题,谢谢 这是我主要抽屉的密码Android 如何克服导航抽屉中的此项填充?,android,android-layout,navigation-drawer,Android,Android Layout,Navigation Drawer,我检查了所有的问题,还谷歌了很多我只是想删除导航视图中每个项目之间的填充。请帮我解决这个问题,谢谢 这是我主要抽屉的密码 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single" android:id="@+id/hom
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single" android:id="@+id/home1"
>
<item
android:id="@+id/home"
android:title="Home"
/>
</group>
<group android:checkableBehavior="single" android:id="@+id/aboutus1">
<item
android:id="@+id/nav_camera"
android:title="AboutUs" />
</group>
<group android:checkableBehavior="single" android:id="@+id/Services1">
<item
android:id="@+id/nav_gallery"
android:title="Services" />
</group>
<group android:checkableBehavior="single" android:id="@+id/consultation1">
<item
android:id="@+id/nav_slideshow"
android:title="Consultation" />
</group>
<group android:checkableBehavior="single" android:id="@+id/gallery1">
<item
android:id="@+id/nav_manage"
android:title="Gallery" />
</group>
<group android:checkableBehavior="single" android:id="@+id/appoinment1">
<item
android:id="@+id/nav_manage1"
android:title="Appoinment" />
</group>
<group android:checkableBehavior="single" android:id="@+id/Contact_Us1">
<item
android:id="@+id/Contact_Us"
android:title="Contact Us" />
</group>
<item android:title="Communicate">
<menu>
<item
android:id="@+id/nav_share"
android:icon="@drawable/ic_menu_share"
android:title="Share" />
<item
android:id="@+id/nav_send"
android:icon="@drawable/ic_menu_send"
android:title="Send" />
</menu>
</item>
</menu>
我的图像是…是,只需在
dimens.xml
文件中添加此参数即可
<dimen name="design_navigation_separator_vertical_padding" tools:override="true">0dp</dimen>
0dp
您可以更改的其他可能值在此处
或如果你想完全定制,你只需要像这样在导航抽屉中添加你自己的列表视图
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/app_bar_dashboard"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/nav_header_dashboard"
android:id="@+id/header"/>
<ListView
android:id="@+id/lst_menu_items"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/white"
android:divider="@color/navigation_divider"
android:dividerHeight="1dp"
android:layout_marginTop="@dimen/padding10"/>
</LinearLayout>
</android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
然后为listview行提供您自己的自定义填充您可以将所有项目放在一个组中,这样就不需要删除填充
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_camera"
android:icon="@drawable/ic_menu_camera"
android:title="Home" />
<item
android:id="@+id/nav_gallery"
android:icon="@drawable/ic_menu_gallery"
android:title="Camera" />
<item ...
...>
</group>
根据找到的NavigationView的源代码,我找到了NavigationMenuPresenter(找到),上面说,菜单列表中的每个普通类型都会膨胀
R.layout.design\u navigation\u item
。因此,如果您预览它(),您将注意到它使用的首选项
<android.support.design.internal.NavigationMenuItemView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="?attr/listPreferredItemHeightSmall"
android:paddingLeft="?attr/listPreferredItemPaddingLeft"
android:paddingRight="?attr/listPreferredItemPaddingRight"
android:foreground="?attr/selectableItemBackground"
android:focusable="true"/>
原件: 自定义:
将这一行添加到dimens.xml文件中,并根据您的需要自定义此DP。我已通过这一行解决了我的问题
<dimen name="design_navigation_padding_top_default" tools:override="true">5dp</dimen>
<dimen name="design_navigation_separator_vertical_padding" tools:override="true">0dp</dimen>
<dimen name="design_navigation_padding_bottom" tools:override="true">5dp</dimen>
<dimen name="design_navigation_icon_size" tools:override="true">20dp</dimen>
<dimen name="design_navigation_icon_padding" tools:override="true">12dp</dimen>
5dp
0dp
5dp
20dp
12dp
Hi,@champandroid请共享您的xml代码检查抽屉的代码main@champandorid请查看我的回答是否有任何可能的方式我不需要更改代码?@RahulKhurana感谢您的宝贵努力,我做到了。其他可能的值在这里是可访问的,谢谢您在不同大小的屏幕上listPreferredItemHeightSmall
必须更改,但如何更改?@Erik将您的值提取到dimens.xml并放入特定的values-*
文件夹,
<dimen name="design_navigation_padding_top_default" tools:override="true">5dp</dimen>
<dimen name="design_navigation_separator_vertical_padding" tools:override="true">0dp</dimen>
<dimen name="design_navigation_padding_bottom" tools:override="true">5dp</dimen>
<dimen name="design_navigation_icon_size" tools:override="true">20dp</dimen>
<dimen name="design_navigation_icon_padding" tools:override="true">12dp</dimen>