2016-07-06 8 views
4

現在、サポートNavigationViewを使用してAndroidアプリを開発中です。 (1)ナビゲーション要素を2つの領域に分割したいと考えています.1つはヘッダーの下に1つ、下端に1つです。 (2)仕切りとその下の要素の間の詰め物を取り除きたい。 How it looks vs how it should look内部スペーシングを使用したAndroid NavigationView

を私は(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> 
関連する問題