我仍在学习在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
有一个名为activity
的BaseActivity
,wish用作使用导航抽屉的所有活动的父级。因此,您的Dashboard
类可以扩展新的activity
。示例中的MainActivity
是扩展activity
的BaseActivity
。
希望这可以帮助。