当前位置: 首页 > 知识库问答 >
问题:

不能使用NavigationUI创建底部导航

柯星辰
2023-03-14

我的项目链接:https://github.com/kiluss2/food-app-ex

非常感谢你的帮助

//Gradle项目

    plugins {
    id 'com.android.application'
}

android {
    compileSdkVersion 30
    aaptOptions.cruncherEnabled = false
    aaptOptions.useNewCruncher = false

    defaultConfig {
        applicationId "com.kiluss.foodappex"
        minSdkVersion 21
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {

    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation 'androidx.appcompat:appcompat:1.3.0'
    implementation 'com.google.android.material:material:1.3.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'

    implementation 'com.github.amarjain07:StickyScrollView:1.0.2'

    implementation 'androidx.navigation:navigation-fragment:2.3.5'
    implementation 'androidx.navigation:navigation-ui:2.3.5'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'

}
package com.kiluss.foodappex;

import androidx.appcompat.app.AppCompatActivity;
import androidx.navigation.NavController;
import androidx.navigation.Navigation;
import androidx.navigation.ui.AppBarConfiguration;
import androidx.navigation.ui.NavigationUI;

import android.os.Bundle;

import com.google.android.material.bottomnavigation.BottomNavigationView;


public class MainActivity extends AppCompatActivity {

private ActionBar toolbar;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

//Initialize Bottom Navigation View.
BottomNavigationView navView = findViewById(R.id.bottomNav_view);

//Pass the ID's of Different destinations
AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder(
        R.id.homeFragment, R.id.favoriteFragment, R.id.accountFragment)
        .build();
//Initialize NavController.
NavController navController = Navigation.findNavController(this, R.id.navHostFragment);
NavigationUI.setupActionBarWithNavController(this,navController,appBarConfiguration); // Cannot resolve symbol 'setupActionBarWithNavController'
NavigationUI.setupWithNavController(navView,navController); //Cannot resolve symbol 'setupActionBarWithNavController'
}
<?xml version="1.0" encoding="utf-8"?>
<navigation 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/mobile_navigation"
app:startDestination="@id/homeFragment">


<fragment
    android:id="@+id/homeFragment"
    android:name="com.kiluss.foodappex.HomeFragment"
    android:label="fragment_home"
    tools:layout="@layout/fragment_home" />
<fragment
    android:id="@+id/favoriteFragment"
    android:name="com.kiluss.foodappex.FavoriteFragment"
    android:label="fragment_favorite"
    tools:layout="@layout/fragment_favorite" />
<fragment
    android:id="@+id/accountFragment"
    android:name="com.kiluss.foodappex.HomeFragment"
    android:label="fragment_account"
    tools:layout="@layout/fragment_home" />
</navigation>

//菜单文件

    <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:id="@+id/navigation_home"
        android:icon="@drawable/ic_baseline_home_24"
        android:title="@string/title_home" />

    <item
        android:id="@+id/navigation_account"
        android:icon="@drawable/ic_account"
        android:title="@string/title_favorite" />

    <item
        android:id="@+id/navigation_favourites"
        android:icon="@drawable/ic_heart"
        android:title="@string/title_account" />
</menu>

共有1个答案

沈冠宇
2023-03-14

由于MainActivity中的所有代码都在void onCreate(Bundle savedInstanceState)方法之外,因此您将获得无法解析符号错误。

只需将代码改为如下所示:

public class MainActivity extends AppCompatActivity {
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //Initialize Bottom Navigation View.
        BottomNavigationView navView = findViewById(R.id.bottomNav_view);
        //Initialize NavController.
        NavController navController = Navigation.findNavController(this, R.id.navHostFragment);
        NavigationUI.setupWithNavController(navView,navController);
    }
}
 类似资料:
  • 我创建一个应用程序并在其中使用BottomNavigationView,其中一个片段通过适配器调用另一个片段。我试图让BottomNavigationView在调用这个片段时消失,为此我使用setVigic()。但问题是它没有消失,也许有人能告诉我我做错了什么 底部导航视图:

  • 本文向大家介绍Android实现底部导航栏功能,包括了Android实现底部导航栏功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android实现底部导航栏功能的具体代码,供大家参考,具体内容如下 实验效果:   (1)在drawable文件夹下新建tab_menu_bg.xml文件,具体代码如下: (2)在drawable文件夹下新建tab_menu_text.xml文件,具

  • 实现tabbar建议采用小程序原生的tabbar,通过设置page/main.js(即对应小程序中app.json)来实现,详情请看小程序文档。示例如下,仅作参考: tabBar: { color: '#999999', selectedColor: '#1AAD16', backgroundColor: '#ffffff', borderStyle: 'white', /*

  • 本文向大家介绍Android BottomNavigationBar底部导航的使用方法,包括了Android BottomNavigationBar底部导航的使用方法的使用技巧和注意事项,需要的朋友参考一下 简介:Google推出的BottomNavigationBar底部导航栏 1 、基本的使用(add和replace方式) 2、扩展添加消息和图形 3、修改图片大小与文字间距 版本更新:2019

  • 本文向大家介绍Android使用BottomNavigationBar实现底部导航栏,包括了Android使用BottomNavigationBar实现底部导航栏的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android实现底部导航栏的具体代码,供大家参考,具体内容如下 展示 MODE_FIXED+BACKGROUND_STYLE_STATIC效果 DE_FIXED+BACKGR