Android(Xamarin):BottomNavigationView 没有出现在正确的位置

Posted

技术标签:

【中文标题】Android(Xamarin):BottomNavigationView 没有出现在正确的位置【英文标题】:Android (Xamarin): BottomNavigationView not appearing in the right place 【发布时间】:2021-11-30 01:56:14 【问题描述】:

我正在尝试使用 android.Support.Design.Widget 命名空间(Xamarin.Android.Support.Design 库,版本 28.0.0.3)中的 BottomNavigationView 类为我的 Android 应用程序(API 30)实现底部导航栏。 我正在按照这里的解释:https://devblogs.microsoft.com/xamarin/exploring-androids-bottom-navigation-view/

这是布局文件的样子:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:app="http://schema.android.com/apk/res/res-auto"
                android:layout_
                android:layout_>
    <FrameLayout android:id="@+id/content"
                 android:layout_
                 android:layout_
                 android:layout_above="@+id/navigator"/>
    <android.support.design.widget.BottomNavigationView android:id="@+id/navigator"
                                                        android:layout_
                                                        android:layout_
                                                        android:layout_gravity="bottom"
                                                        android:background="@android:color/white"
                                                        app:elevation="16dp"
                                                        app:menu="@menu/navigator"/>
</RelativeLayout>

这是菜单文件:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/home"
          android:icon="@drawable/home"
          android:title="Home"
          android:enabled="true"
          app:showAsAction="ifRoom"/>
    <item android:id="@+id/library"
          android:icon="@drawable/library"
          android:title="Library"
          android:enabled="true"
          app:showAsAction="ifRoom"/>
    <item android:id="@+id/search"
          android:icon="@drawable/search"
          android:title="Search"
          android:enabled="true"
          app:showAsAction="ifRoom"/>
</menu>

问题在于,虽然它是可见的,但它出现在屏幕顶部而不是底部,这与底部导航栏的作用完全相反。 此外,它不显示图标。它只是在页面顶部显示为一个空白的白条。

我做错了什么,我该如何解决?

【问题讨论】:

检查此示例以查看它是否有效github.com/jamesmontemagno/Xamarin-Templates/tree/master/… @AdrainZhu-MSFT 不幸的是,该示例甚至无法在 API 30 中编译。即使是这样,它似乎也有我目前在我的应用程序中不需要的元素。 没关系,我已经编译好了(尽管有很多错误)。是的,BottomNavigationView 适用于那个。我会尝试修改我的代码使其与它相似,如果我仍然无法让它工作,我会再次响应。 @AdrainZhu-MSFT 现在可以使用了。我更改了布局文件以匹配该示例中的布局文件并进行了一些调整。非常感谢。 【参考方案1】:
<com.google.android.material.bottomnavigation.BottomNavigationView
    android:id="@+id/navigation"
    android:layout_
    android:layout_
    android:layout_marginEnd="0dp"
    android:layout_marginStart="0dp"
    android:background="?android:attr/windowBackground"
    app:menu="@menu/navigation"
    android:layout_gravity="bottom"
    android:visibility="visible" />

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于Android(Xamarin):BottomNavigationView 没有出现在正确的位置的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.forms(或)xamarin.ios/xamarin.android(或)本机

Xamarin.Forms 是 Xamarin.Android、Xamarin.IoS 和 Xamarin.Win 的简单总和吗?

xamarin android开发 两个按钮 怎么放在同一排上

抽屉布局在 Xamarin.Android.Support.Core.UI 和 Xamarin.Android.Support.V4 中都存在

无法使用 Xamarin.Android 中的 Xamarin.Mobile 组件保存联系人

将Xamarin.Android应用程序迁移到Xamarin.Forms应用程序