我正在尝试使用导航抽屉在活动而不是片段之间切换。
源代码链接: https://drive.google.com/file/d/1DK7YAgTBZUoT9Qp9FV75MnStIgaipr9V/view?usp=sharing
这是主要的activity.xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="MainActivity"
tools:openDrawer="start">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="75dp"
android:background="@color/white"
android:elevation="10dp">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@android:color/transparent"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_marginStart="0dp"
android:layout_marginTop="0dp"
android:src="@drawable/ic_baseline_menu_24"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="104dp"
android:layout_height="64dp"
android:layout_centerHorizontal="true"
android:fontFamily="@font/nm"
android:gravity="center"
android:text="AG"
android:textColor="@color/bg"
android:textSize="50sp"
tools:ignore="HardcodedText" />
<RelativeLayout
android:layout_width="360dp"
android:layout_height="725dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="75dp"
android:background="@drawable/round_bg"
android:elevation="20dp">
<TextView
android:layout_width="300dp"
android:layout_height="110dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:fontFamily="@font/nm"
android:gravity="center"
android:letterSpacing="0.1"
android:text="WELCOME"
android:textColor="@color/text_white"
android:textSize="61sp"
tools:ignore="HardcodedText" />
<TextView
android:layout_width="310dp"
android:layout_height="300dp"
android:layout_marginLeft="25dp"
android:layout_marginTop="220dp"
android:layout_marginRight="20dp"
android:fontFamily="@font/opst"
android:gravity="right"
android:text="This is a collection of given applications for homework"
android:textColor="@color/text_white"
android:textSize="45sp"
tools:ignore="HardcodedText,RtlHardcoded" />
<ImageView
android:id="@+id/fblnk"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_marginStart="88dp"
android:layout_marginTop="625dp"
android:src="@drawable/ic_round_facebook_24"
android:onClick="opbr"
tools:ignore="ContentDescription" />
<ImageView
android:id="@+id/gitlnk"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_marginStart="190dp"
android:layout_marginTop="620dp"
android:src="@drawable/gitw"
android:onClick="opbr1"
tools:ignore="ContentDescription" />
</RelativeLayout>
</RelativeLayout>
<com.google.android.material.navigation.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/nav_header"
app:menu="@menu/draw_menu">
</com.google.android.material.navigation.NavigationView>
</androidx.drawerlayout.widget.DrawerLayout>
这是 MAinActivity.java:
package com.neuron.hw_0;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import com.google.android.material.navigation.NavigationView;
public class MainActivity extends AppCompatActivity {
private DrawerLayout drawer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
androidx.appcompat.widget.Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
drawer = findViewById(R.id.drawer_layout);
NavigationView navigationView = findViewById(R.id.nav_view);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar,
R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
}
@Override
public void onBackPressed() {
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
public void opbr(View view){
//Get url from tag
String url = (String)view.getTag();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
//pass the url to intent data
intent.setData(Uri.parse("https://www.facebook.com/AadeshGurav99"));
startActivity(intent);
}
public void opbr1(View view){
//Get url from tag
String url = (String)view.getTag();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
//pass the url to intent data
intent.setData(Uri.parse("https://github.com/Aadesh9985?tab=repositories"));
startActivity(intent);
}
}
这是抽屉菜单:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="navigation_view">
<group android:checkableBehavior="single">
<item
android:id="@+id/a0"
android:title="Home"
tools:ignore="HardcodedText" />
<item
android:id="@+id/a1"
android:title="Toggle Button"
tools:ignore="HardcodedText" />
<item
android:id="@+id/a2"
android:title="Web View"
tools:ignore="HardcodedText" />
<item
android:id="@+id/a3"
android:title="List View"
tools:ignore="HardcodedText" />
<item
android:id="@+id/a4"
android:title="Date Picker"
tools:ignore="HardcodedText" />
<item
android:id="@+id/a5"
android:title="Text Spinner"
tools:ignore="HardcodedText" />
<item
android:id="@+id/a6"
android:title="Radio Button"
tools:ignore="HardcodedText" />
<item
android:id="@+id/a7"
android:title="Check Box"
tools:ignore="HardcodedText" />
<item
android:id="@+id/a8"
android:title="Image View"
tools:ignore="HardcodedText" />
<item
android:id="@+id/a9"
android:title="Button Click"
tools:ignore="HardcodedText" />
</group>
</menu>
我想切换到其他活动,我的主要活动必须是抽屉中的家庭活动。我从一开始就尝试抽屉活动,但这没有帮助。 请帮忙