2016-07-06 6 views
4

현재 NavigationView가 지원되는 Android 앱을 개발 중입니다. 나는 그것을 원하는대로 만들기 위해 질문해야한다 : (1) 네비게이션 요소를 두 개의 영역으로 나누고 싶다 : 하나는 헤더 아래의 상단과 하단의 끝에있다. (2) 칸막이와 그 아래 요소 사이의 패딩을 제거하고 싶습니다. 그것이 보는 방법 대 보이는 방법내부 공간이있는 Android NavigationView

: How it looks vs how it should look

내가 고칠 것이다, (2) 패딩 값을 대체 할 수있는 방법이 알고있다. 그러나 이것은 더러워진 느낌이며, 아마도이 두 가지를 성취하기위한 또 다른 접근법이있을 수 있습니다. 내 생각은 "설정"요소를 가져 와서 프로그래밍 방식으로 레이아웃을 변경하는 것이었지만 지금까지 그 방법을 찾지 못했습니다. 아니면 실제로 바닥 글을 직접 만들어야합니까?

또한, 내가 어떤 유행어를 검색해야하는지 잘 모르겠습니다. 어쩌면 이미 쉬운 대답이있을 수 있습니다.

현재 코드. 지금은 액티비티 안에 레이아웃 변경이 없으므로 추가하지 않았습니다.

activity_main.xml :

<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/main_drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context=".main.MainActivity"> 

    <!-- The content --> 
    <LinearLayout>...</LinearLayout> 

    <!-- The navigation drawer --> 
    <android.support.design.widget.NavigationView 
     android:id="@+id/main_navigationview" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:background="@android:color/white" 
     app:headerLayout="@layout/mainnav_header" 
     app:itemBackground="@drawable/menu_background" 
     app:itemIconTint="@color/menu_text" 
     app:itemTextColor="@color/menu_text" 
     app:menu="@menu/maindrawer"> 

    </android.support.design.widget.NavigationView> 

</android.support.v4.widget.DrawerLayout> 

menu.xml :

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto"> 

<group android:id="@+id/main_drawer_menu1" android:checkableBehavior="single"> 
    <item 
     android:id="@+id/main_navigationview_request" 
     android:checkable="false" 
     android:enabled="false" 
     android:icon="@drawable/ic_navigationdrawer_request" 
     android:title="@string/main_navigation_request" 
     app:actionLayout="@layout/menuitem_default" /> 
    <item 
     android:id="@+id/main_navigationview_invitations" 
     android:checked="true" 
     android:icon="@drawable/ic_navigationdrawer_invitations" 
     android:title="@string/main_navigation_invitations" 
     app:actionLayout="@layout/menuitem_default" /> 
    <item 
     android:id="@+id/main_navigationview_prev" 
     android:icon="@drawable/ic_navigationdrawer_previous" 
     android:title="@string/main_navigation_previnvites" 
     app:actionLayout="@layout/menuitem_default" /> 
    <item 
     android:id="@+id/main_navigationview_info" 
     android:icon="@drawable/ic_navigationdrawer_info" 
     android:title="@string/main_navigation_info" 
     app:actionLayout="@layout/menuitem_default" /> 
</group> 
<group android:id="@+id/main_drawer_menu2" android:checkableBehavior="single"> 
    <item 
     android:id="@+id/main_navigationview_settings" 
     android:checked="true" 
     android:icon="@drawable/ic_navigationdrawer_settings" 
     android:title="@string/main_navigation_settings" 
     app:actionLayout="@layout/menuitem_default" /> 
    <item 
     android:id="@+id/main_navigationview_logout" 
     android:icon="@drawable/ic_navigationdrawer_logout" 
     android:title="@string/main_navigation_logout" 

     app:actionLayout="@layout/menuitem_caution" /> 
</group> 

+0

우리가 코드를 가질 수 dimen.xml 파일에서 선 아래 추가 ?? 물론 –

+0

, 죄송합니다. 현재 그것은 단지 2 xml 파일입니다. 어떤 레이아웃 변경도 활동 내에서 수행되지 않습니다. – gtRfnkN

+0

오른쪽에있는 레이아웃이 더 마음에 들지만, 이는 제가 논의하고 싶은 문제가 아닙니다. 레이아웃을 오른쪽과 같이 보이게하는 방법을 찾고 싶습니다. – gtRfnkN

답변

2

이 줄은 아이콘과 텍스트 사이에 패딩을 제거합니다.

<dimen tools:override="true" name="design_navigation_icon_padding">10dp</dimen>