【问题标题】:How to place bottomAppBar in layout如何在布局中放置bottomAppBar
【发布时间】:2019-04-21 17:11:11
【问题描述】:

我目前正在开发一个使用底部应用栏作为主要导航的项目。但即使我从示例源代码复制粘贴,我也总是会出错

这是我的布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <androidx.coordinatorlayout.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <com.google.android.material.bottomappbar.BottomAppBar
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"></com.google.android.material.bottomappbar.BottomAppBar>

    </androidx.coordinatorlayout.widget.CoordinatorLayout>

</LinearLayout>

这是我的 gradle 依赖项

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    testImplementation 'junit:junit:4.12'
    implementation 'com.google.android.material:material:1.1.0-alpha05'
    implementation 'com.squareup.okhttp3:okhttp:3.10.0'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}

这是我遇到的一个错误

Binary XML file line #14: Binary XML file line #14: Error inflating class com.google.android.material.bottomappbar.BottomAppBar

【问题讨论】:

    标签: java android material-components-android


    【解决方案1】:

    根据this网站: 将您的 targetSdkVersion 设置为针对 Android P 的最新 API 版本,即 28 并确保您的应用继承 Theme.MaterialComponents 主题以使 BottomAppBar 使用最新的样式。或者,您可以声明BottomAppBar 的样式 在布局 xml 文件中的小部件声明中,如下所示: style="@style/Widget.MaterialComponents.BottomAppBar"

    【讨论】:

      【解决方案2】:

      我最近解决了这个问题。您需要添加的依赖项

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

      然后将&lt;com.google.android.material.bottomnavigation.BottomNavigationView 添加到您的 XML 布局文件中。

      它对我有用

      <?xml version="1.0" encoding="utf-8"?>
      <androidx.constraintlayout.widget.ConstraintLayout 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:orientation="vertical"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">
      
          <com.google.android.material.bottomnavigation.BottomNavigationView
                  android:layout_width="0dp"
                  app:layout_constraintEnd_toEndOf="parent"
                  app:layout_constraintStart_toStartOf="parent"
                  app:layout_constraintBottom_toBottomOf="parent"
                  android:layout_height="wrap_content" android:id="@+id/vBottomBar"
                  app:layout_constraintHorizontal_bias="0.0"/>
          <FrameLayout
                  android:layout_width="0dp"
                  android:layout_height="0dp" app:layout_constraintEnd_toEndOf="parent"
                  app:layout_constraintStart_toStartOf="parent"
                  app:layout_constraintTop_toTopOf="parent"
                  app:layout_constraintBottom_toTopOf="@+id/vBottomBar" android:id="@+id/vContainer">
      
          </FrameLayout>
      
      </androidx.constraintlayout.widget.ConstraintLayout>
      

      【讨论】:

      • 谢谢,我昨晚才找到解决方案。我的问题是当前的依赖版本仍然是 alpha 并且不稳定。我使用的是材料版本 '1.1.0-alpha05',所以我将其降级为 1.0.0,一切运行良好且流畅
      【解决方案3】:

      我昨晚找到了解决问题的方法。我的问题是我使用

      implementation 'com.google.android.material:material:1.1.0-alpha05'
      

      而且那个版本仍然是 alpha 并且不稳定。所以我把它降级为

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

      一切都像黄油一样顺利

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多