我仍在学习在Android上编程的知识,这是我第一次创建导航抽屉。
我知道还有其他创建导航抽屉的方法,但是我认为这是最容易理解的方法,但是现在我不知道如何在所有活动中进行扩展。

这是代码:

仪表板

    package com.example.alexandre.blueprint_apocalypse;

import android.content.Intent;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageButton;

public class Dashboard extends AppCompatActivity {

//Menu variables
private DrawerLayout mDrawerLayout;
private ActionBarDrawerToggle mToggle;

//Buttons
public ImageButton profile_button;

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_dashboard);
    setTitle(R.string.dashboardLabel);

    //Create Menu
    mDrawerLayout = (DrawerLayout) findViewById(R.id.activity_dashboard);
    mToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.open, R.string.close);

    mDrawerLayout.addDrawerListener(mToggle);
    mToggle.syncState();

    getSupportActionBar().setDisplayHomeAsUpEnabled(true); //Activate hamburguer button

    //Change Activity using buttons
    changeActivity();
}

@Override
public boolean onOptionsItemSelected(MenuItem item)
{

    if(mToggle.onOptionsItemSelected(item))
    {
        return true;
    }

    return super.onOptionsItemSelected(item);
}


activity_dashboard.xml

<?xml version="1.0" encoding="utf-8"?>




<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="1">

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@mipmap/dashboard_profile_icon"
        android:id="@+id/dashoard_profile_button"
        android:layout_marginTop="77dp"
        style="?android:attr/borderlessButtonStyle"
        android:background="@null"
        android:scaleType="fitXY"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginLeft="47dp"
        android:layout_marginStart="47dp"
        android:contentDescription="" />
</RelativeLayout>

<android.support.design.widget.NavigationView
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    app:menu="@menu/navigation_menu"
    android:layout_gravity = "start">
</android.support.design.widget.NavigationView>




navigation_menu.xml

<?xml version="1.0" encoding="utf-8"?>




<item android:id="@+id/menu_option_dashboard"
    android:title="Dashboard">
</item>

<item android:id="@+id/menu_option_profile"
    android:title="Profile">
</item>

<item android:id="@+id/menu_option_defenseHistory"
    android:title="Defense History">
</item>

<item android:id="@+id/menu_option_encyclopedia"
    android:title="Encyclopedia">
</item>

<item android:id="@+id/menu_option_worldScore"
    android:title="World Score">
</item>




如何将其扩展到我的所有活动中?

最佳答案

这是示例的link,该示例将导航抽屉添加到多个activities

有一个名为activityBaseActivity,wish用作使用导航抽屉的所有活动的父级。因此,您的Dashboard类可以扩展新的activity。示例中的MainActivity是扩展activityBaseActivity

希望这可以帮助。

08-17 17:47