-3

私はアンドロイドナビゲーションドロワーメニューを使用しています。私はナビゲーションドロワー私のすべてのアクティビティクラスに表示します。もし私が実際にやる必要があるものを使いたいなら。もし誰かがヒントを与えたら、それはとても役に立ちます。アプリ全体、つまりアクティビティクラスでもナビゲーションサイドメニューを使用できますか?

+0

'abstract'クラスを' BaseActivity'にし、すべてのアクティビティを 'BaseActivity'で拡張します。 – Piyush

+0

Bro yyyy、私はuを手に入れませんでした。あなたは例をもって私をクリアしますか? –

+0

各レイアウトにナビゲーションドロワーを追加 – Nilabja

答えて

1

を作成してBaseActivityアクティビティを作成します。このアクティビティはすべてのアクティビティで延長されます。 BaseActivityのレイアウトはDrawerLayoutで、FrameLayoutとナビゲーション・ドロワーが含まれています。

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
     <!-- Content--> 
     <FrameLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/base_frame"/> 
    <!-- Side navigation drawer UI --> 
    <android.support.v7.widget.RecyclerView 
     android:id="@+id/nav_drawer_rv" 
     android:layout_width="280dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="end" 
     android:dividerHeight="0dp" /> 

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

FrameLayoutprotectedクラスフィールドを作成し、BaseActivityを拡張するすべての活動に、のようなレイアウトを膨らませる - - それは、このようなものになります(この場合は、ナビゲーションドロワーはRecyclerViewがある)

getLayoutInflater().inflate(R.layout.your_activity, baseFrameLayout); 

BaseActivityは、ナビゲーション・ドロワー(アイテムの選択、アクティビティの切り替えなど)とのすべての対話を処理します。

関連する問題