How to set the right edge of the navigator box?

As in the title, how can I set the right edge of the navigation box to 56 dp in accordance with the design of the Google stuff (see below)? I tried android:layout_marginRight="56dp" in the second view of DrawerLayout , but it looks very strange (more than 56 dp and very different from the picture of the picture on Google below).

enter image description here

+5
source share
2 answers

I would suggest that you focus on the width of the second View of DeawerLayout , which should be between 240dp to 320dp ,

Think about it, you will be able to give the navigation drawer right margin of 56 dp on the right side, now you want to check it in landscape mode, and you will find more surprises

0
source

Try focusing on the width of the navigation box, it should be between 240dp and 320dp . It will automatically configure with the correct field.


This is an example xml file that contains a fragment of a navigation box. Here, the width of the fragment is set in the folder as 280dp

 <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"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:id="@+id/container_app_bar" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <include android:id="@+id/app_bar" layout="@layout/app_bar" /> <it.neokree.materialtabs.MaterialTabHost android:id="@+id/materialTabHost" android:layout_width="match_parent" android:layout_height="48dp" android:layout_below="@+id/app_bar" app:accentColor="@color/colorAccent" app:hasIcons="true" app:iconColor="@android:color/white" app:primaryColor="@color/colorPrimary" /> </LinearLayout> <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="0dp" android:layout_below="@+id/materialTabHost" android:layout_weight="1" /> </LinearLayout> <fragment android:id="@+id/fragment_navigation_drawer" android:name="com.example.fragments.FragmentDrawer" android:layout_width="@dimen/nav_drawer_width" android:layout_height="match_parent" android:layout_gravity="start" app:layout="@layout/fragment_navigation_drawer" tools:layout="@layout/fragment_navigation_drawer" /> </android.support.v4.widget.DrawerLayout> 

Now this is an example that is a navigation box layout

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white" tools:context="com.example.fragments.FragmentDrawer"> <android.support.v7.widget.RecyclerView android:id="@+id/drawerList" android:layout_width="match_parent" android:layout_height="wrap_content" /> </RelativeLayout> 

It will be good practice if you set the width in the folder, rather than hardcoding.

0
source

Source: https://habr.com/ru/post/1242340/


All Articles