无法解析 BottomNavigationView

Cannot resolve BottomNavigationView

Android Studio 说它无法解析我的代码中的 bottomnavigationview。所有 BottomNavigationView 文本都是红色的。此外,当我转到 xml 布局页面时,它没有显示底部导航视图图标,而是在灰色框中显示 'android...BottomNavigationView'。但是当我 运行 我的设备上的应用程序时,我看到了图标。 (虽然有点压扁了)

我已经尝试重建和清理应用程序代码。我前几天也遇到过这个问题,所以我删除文件重新开始,底部导航问题没问题。但是每当我退出 android studio 并重新打开它时,它就会给我带来问题。

MainActivity.java

public class MainActivity extends AppCompatActivity {

    private TextView mTextMessage;

    private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
            = new BottomNavigationView.OnNavigationItemSelectedListener() {

        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            switch (item.getItemId()) {
                case R.id.navigation_list:
                    mTextMessage.setText(R.string.title_list);
                    return true;
                case R.id.navigation_done:
                    mTextMessage.setText(R.string.title_done);
                    return true;
                case R.id.navigation_categories:
                    mTextMessage.setText(R.string.title_categories);
                    return true;
            }
            return false;
        }
    };

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

        mTextMessage = (TextView) findViewById(R.id.message);
        BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
        navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
    }

}

我使用预设的底部导航 activity 创建了此 activity,因此除了更改图标和图标名称外,我还没有修改任何代码。

看来我不得不重新同步 gradle。希望这是目前的解决方案。

我希望这对你有用。

在您的应用 build.gradle 文件中,在依赖选项卡中添加以下行

implementation 'com.android.support:design:26.1.0'

这里 26.1.0 是库版本而不是这个添加你的库版本和同步项目。

对于 Androidx 使用此库:

implementation 'com.google.android.material:material:1.4.0'

并在您的布局中使用 BottomNavigationView,如下所示

<com.google.android.material.bottomnavigation.BottomNavigationView
      android:id="@+id/bottom_navigation"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_alignParentBottom="true"
      app:menu="@menu/bottom_navigation"
      android:background="?android:attr/windowBackground"/>