Android : 탐색 창 항목 크기

Aug 19 2020

내비게이션 서랍이있는 Android 앱이 있습니다. 서랍은 메뉴 리소스 파일에서 항목을 가져옵니다.

<com.google.android.material.navigation.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/nav_header_main"
    app:menu="@menu/activity_main_drawer" />

활성 항목은 그 위에 반투명 레이어가 있으며 기본 항목입니다. 내 문제는 해당 레이어의 크기 / 여백에 있습니다.

나는 이것을 갖고 싶다 :

대신 : https://i.stack.imgur.com/Zlp9p.png

이 답변 을 따라 정사각형으로 만들 수 있지만 여전히 주변에 작은 여백이 있습니다.

어떻게 할 수 있습니까?

답변

1 GabrieleMariotti Aug 19 2020 at 13:33

itemShapeInset*속성을 사용하여 전체 공간을 채울 수 있습니다 .

<com.google.android.material.navigation.NavigationView
 app:itemShapeInsetStart="0dp"
 app:itemShapeInsetEnd="0dp"
 app:itemShapeAppearanceOverlay="@style/ShapeAppearanceOverlay.Nav.Square"

그리고는 itemShapeAppearanceOverlay사각형 모서리를합니다 :

<style name="ShapeAppearanceOverlay.Nav.Square" parent="">
    <item name="cornerSize">0dp</item>
</style>

AagitoEx Aug 19 2020 at 12:02

이 속성을 변경하려고 되세요 app:itemHorizontalPadding="0dp".

echosoftware Aug 19 2020 at 12:51

당신은 이것을 원합니다

 <com.google.android.material.navigation.NavigationView
    android:id="@+id/nav_view"
    style="@style/Widget.Custom.NavigationView"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:clipToPadding="false"
    android:fitsSystemWindows="true"
    android:theme="@style/NavigationTheme"
    app:headerLayout="@layout/nav_header_main"
    app:itemHorizontalPadding="45dp"
    app:itemIconPadding="@dimen/_17sdp"
    app:itemIconTint="#000"
    app:itemTextColor="#000"
    app:menu="@menu/activity_main_drawer" />

스타일

  <style name="Widget.Custom.NavigationView" parent="Widget.Design.NavigationView">
    <item name="itemIconTint">?attr/colorNavigationItem</item>
    <item name="itemTextColor">?attr/colorNavigationItem</item>
    <item name="itemBackground">?attr/drawableNavigationItemBackground</item>
</style>
<style name="NavigationTheme" parent="AppTheme">
    <item name="android:layout_marginBottom">4dp</item>
</style>

추가 attr.xmlvalues

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <attr name="colorNavigationItem" format="color" />
    <attr name="colorNavigationItemSelected" format="color" />

    <attr name="drawableNavigationItemBackground" format="reference" />
</resources>