在其他片段之上设置导航抽屉
Setting navigation drawer on top of other fragments
我有一个 activity 在其屏幕中使用了 Relativelayout。我的屏幕上还有一个导航抽屉。这是我的 ScreenShot
出现了一个问题,当导航抽屉打开时,Relativelayout 的元素放置在导航抽屉的顶部。所以我需要通过将我的导航设置在其他元素之上来解决这个问题。
请帮帮我。
谢谢
<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>
只需使用这个很棒的库https://github.com/mikepenz/MaterialDrawer
如果你想定制只是创建你自己的适配器或告诉我,我会帮助与你分享我的代码。
像下面这样更改布局:
<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>
你的按钮是内容的一部分,所以它们应该在 DrawerLayout 里面。使用 NavigationDrawer/NavigationView 时,DrawerLayout 应该是根视图,内容应该添加到里面,而不是外面。您可以在 post.
中阅读更多相关信息
因此您的文件应如下所示:
<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>
我有一个 activity 在其屏幕中使用了 Relativelayout。我的屏幕上还有一个导航抽屉。这是我的 ScreenShot
出现了一个问题,当导航抽屉打开时,Relativelayout 的元素放置在导航抽屉的顶部。所以我需要通过将我的导航设置在其他元素之上来解决这个问题。
请帮帮我。 谢谢
<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>
只需使用这个很棒的库https://github.com/mikepenz/MaterialDrawer
如果你想定制只是创建你自己的适配器或告诉我,我会帮助与你分享我的代码。
像下面这样更改布局:
<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>
你的按钮是内容的一部分,所以它们应该在 DrawerLayout 里面。使用 NavigationDrawer/NavigationView 时,DrawerLayout 应该是根视图,内容应该添加到里面,而不是外面。您可以在 post.
中阅读更多相关信息因此您的文件应如下所示:
<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>