3

I have an activity that used a Relativelayout in its screen. Also there is a navigation drawer in my screen. This is my ScreenShot

A problem is happened, when navigation drawer opened, the elements of Relativelayout placed on top of navigation drawer. So I need to solve this problem by setting my navigation on top of other elements.

Please help me. Thanks

<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="@drawable/background_main"
tools:context="ir.kaasbarg.khoms.MainActivity" >


    <android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"

>

<!-- The main content view -->
<RelativeLayout
    android:id="@+id/mainContent"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 

/>

<!-- The navigation drawer -->
<RelativeLayout
    android:layout_width="220dp"
    android:layout_height="match_parent"
    android:id="@+id/drawerPane"
    android:layout_gravity="end"

   >

    <!-- Profile Box -->
    <!-- List of Actions (pages) -->
    <ListView
        android:id="@+id/navList"
        android:layout_width="280dp"
        android:layout_height="match_parent"

        android:choiceMode="singleChoice"
        android:background="#202020" 

        />

</RelativeLayout>

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


<Button
    android:id="@+id/btndate"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_marginTop="200dp"
    android:background="@drawable/btn_main1"
    android:text="تاریخ سال خمسی"
    android:textSize="25sp"
    android:textColor="#ffffff"
    android:layout_marginRight="16dp"
    android:layout_marginLeft="16dp" />

<Button
    android:id="@+id/btnitems"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_marginTop="260dp"
    android:background="@drawable/btn_main1"
    android:text = "موارد خمس"
    android:textSize="25sp"
    android:textColor="#ffffff"
    android:layout_marginRight="16dp"
    android:layout_marginLeft="16dp" />

<Button
    android:id="@+id/btnkhoms"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_marginTop="320dp"
    android:background="@drawable/btn_main1"
    android:text="محاسبه ی خمس"
    android:textSize="25sp"
    android:textColor="#ffffff"
    android:layout_marginRight="16dp"
    android:layout_marginLeft="16dp" />


<Button
    android:id="@+id/btnhelp"
    android:layout_width="140dp"
    android:layout_height="50dp"
    android:layout_marginTop="380dp"
    android:layout_alignParentRight="true"
    android:background="@drawable/btn_main1"
    android:text="راهنما"
    android:textSize="25sp"
    android:textColor="#ffffff"
    android:layout_marginRight="16dp"
    android:layout_marginBottom="16dp" />


<Button
    android:id="@+id/btnexit"
    android:layout_width="140dp"
    android:layout_height="50dp"
    android:layout_marginTop="380dp"
    android:layout_alignParentLeft="true"
    android:background="@drawable/btn_main1"
    android:text="خروج"
    android:textSize="25sp" 
    android:textColor="#ffffff"
    android:layout_marginLeft="16dp"
    android:layout_marginBottom="16dp" />


    </RelativeLayout>
  • can you post your xml file? I guess it's because you need to move your navigation drawer to the bottom of the xml – Bill Jul 14 '16 at 23:43
  • Yes. I moved this, but I get a run time error! – Seyyed Mahmood Ahmadi Jul 14 '16 at 23:46
  • please post the xml file, I can't answer your question in the dark – Bill Jul 14 '16 at 23:46
  • Possible duplicate of [How do I use DrawerLayout to display over the ActionBar/Toolbar and under the status bar?](http://stackoverflow.com/questions/26440879/how-do-i-use-drawerlayout-to-display-over-the-actionbar-toolbar-and-under-the-st) – Bill Jul 14 '16 at 23:55

3 Answers3

1

change your layout like below 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="@drawable/background_main"
    tools:context="ir.kaasbarg.khoms.MainActivity">


    <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/drawerLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"

        >

        <!-- The main content view -->
        <RelativeLayout
            android:id="@+id/mainContent"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <Button
                android:id="@+id/btndate"
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:layout_marginLeft="16dp"
                android:layout_marginRight="16dp"
                android:layout_marginTop="200dp"
                android:background="@drawable/btn_main1"
                android:text="تاریخ سال خمسی"
                android:textColor="#ffffff"
                android:textSize="25sp" />

            <Button
                android:id="@+id/btnitems"
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:layout_marginLeft="16dp"
                android:layout_marginRight="16dp"
                android:layout_marginTop="260dp"
                android:background="@drawable/btn_main1"
                android:text="موارد خمس"
                android:textColor="#ffffff"
                android:textSize="25sp" />

            <Button
                android:id="@+id/btnkhoms"
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:layout_marginLeft="16dp"
                android:layout_marginRight="16dp"
                android:layout_marginTop="320dp"
                android:background="@drawable/btn_main1"
                android:text="محاسبه ی خمس"
                android:textColor="#ffffff"
                android:textSize="25sp" />


            <Button
                android:id="@+id/btnhelp"
                android:layout_width="140dp"
                android:layout_height="50dp"
                android:layout_alignParentRight="true"
                android:layout_marginBottom="16dp"
                android:layout_marginRight="16dp"
                android:layout_marginTop="380dp"
                android:background="@drawable/btn_main1"
                android:text="راهنما"
                android:textColor="#ffffff"
                android:textSize="25sp" />


            <Button
                android:id="@+id/btnexit"
                android:layout_width="140dp"
                android:layout_height="50dp"
                android:layout_alignParentLeft="true"
                android:layout_marginBottom="16dp"
                android:layout_marginLeft="16dp"
                android:layout_marginTop="380dp"
                android:background="@drawable/btn_main1"
                android:text="خروج"
                android:textColor="#ffffff"
                android:textSize="25sp" />

        </RelativeLayout>
        <!-- The navigation drawer -->
        <RelativeLayout
            android:id="@+id/drawerPane"
            android:layout_width="220dp"
            android:layout_height="match_parent"
            android:layout_gravity="end"

            >

            <!-- Profile Box -->
            <!-- List of Actions (pages) -->
            <ListView
                android:id="@+id/navList"
                android:layout_width="280dp"
                android:layout_height="match_parent"

                android:background="#202020"
                android:choiceMode="singleChoice"

                />

        </RelativeLayout>

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


</RelativeLayout>
sneha desai
  • 886
  • 1
  • 11
  • 19
1

Your buttons are part of the content, so they should be inside DrawerLayout. When using NavigationDrawer/NavigationView, DrawerLayout should be the root view and the content should be added inside it, not outside. You can read more about this in this post.

So your file should look like this:

    <android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawerLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <!-- The main content view -->
    <RelativeLayout
        android:id="@+id/mainContent"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <Button
        android:id="@+id/btndate"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginTop="200dp"
        android:background="@drawable/btn_main1"
        android:text="تاریخ سال خمسی"
        android:textSize="25sp"
        android:textColor="#ffffff"
        android:layout_marginRight="16dp"
        android:layout_marginLeft="16dp" />

    <Button
        android:id="@+id/btnitems"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginTop="260dp"
        android:background="@drawable/btn_main1"
        android:text = "موارد خمس"
        android:textSize="25sp"
        android:textColor="#ffffff"
        android:layout_marginRight="16dp"
        android:layout_marginLeft="16dp" />

    <Button
        android:id="@+id/btnkhoms"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginTop="320dp"
        android:background="@drawable/btn_main1"
        android:text="محاسبه ی خمس"
        android:textSize="25sp"
        android:textColor="#ffffff"
        android:layout_marginRight="16dp"
        android:layout_marginLeft="16dp" />


    <Button
        android:id="@+id/btnhelp"
        android:layout_width="140dp"
        android:layout_height="50dp"
        android:layout_marginTop="380dp"
        android:layout_alignParentRight="true"
        android:background="@drawable/btn_main1"
        android:text="راهنما"
        android:textSize="25sp"
        android:textColor="#ffffff"
        android:layout_marginRight="16dp"
        android:layout_marginBottom="16dp" />


    <Button
        android:id="@+id/btnexit"
        android:layout_width="140dp"
        android:layout_height="50dp"
        android:layout_marginTop="380dp"
        android:layout_alignParentLeft="true"
        android:background="@drawable/btn_main1"
        android:text="خروج"
        android:textSize="25sp"
        android:textColor="#ffffff"
        android:layout_marginLeft="16dp"
        android:layout_marginBottom="16dp" />

    <!-- The navigation drawer -->
    <RelativeLayout
        android:layout_width="220dp"
        android:layout_height="match_parent"
        android:id="@+id/drawerPane"
        android:layout_gravity="end"

        >

        <!-- Profile Box -->
        <!-- List of Actions (pages) -->
        <ListView
            android:id="@+id/navList"
            android:layout_width="280dp"
            android:layout_height="match_parent"

            android:choiceMode="singleChoice"
            android:background="#202020"

            />

    </RelativeLayout>

</android.support.v4.widget.DrawerLayout>
Laura
  • 2,653
  • 7
  • 37
  • 59
-1

Just use this cool library https://github.com/mikepenz/MaterialDrawer

if you want to customize just create your own adapter or inform me, i will help sharing my code with you.

Material drawer demo

Material drawer demo 2

Maravilho Singa
  • 224
  • 3
  • 12