隐藏BottomNavigationBar不能将视图设置为GridView

时间:2017-06-29 19:25:32

标签: c# android xamarin xamarin.android mvvmcross

我正在使用此library向我的Xamarin.Android项目添加BottomNavigationBar。当我开始滚动时,我使用BottomBar.AttachShy(CoordinatorLayout, View, Bundle);方法隐藏导航栏,但它不能使用我的GridView。我滚动GridView,但导航栏仍然存在。有谁知道我应该做什么?

以下是我的AXML:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:local="http://schemas.android.com/apk/res-auto"
    xmlns:app="http://schemas.android.com/apk/res-auto"                                                                     
    android:id="@+id/myCoordinator"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

  <GridView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:columnWidth="100dp"
        android:numColumns="auto_fit"
        android:verticalSpacing="10dp"
        android:horizontalSpacing="10dp"
        android:stretchMode="columnWidth"
        android:gravity="center"
        android:textAlignment="center"
        android:id="@+id/menuGrid" />

</android.support.design.widget.CoordinatorLayout>

这是我的C#代码:

private BottomBar _bottomBar;

protected override void OnCreate(Bundle bundle) {
     _bottomBar = BottomBar.AttachShy((CoordinatorLayout)FindViewById(Resource.Id.myCoordinator),
                  FindViewById(Resource.Id.menuGrid), bundle);
     _bottomBar.UseFixedMode();

     _bottomBar.SetItems(new[]
               { new BottomBarTab(Resource.Drawable.ic_recents, "Recents"),
                 new BottomBarTab(Resource.Drawable.ic_favorites, "Favorites"),
                 new BottomBarTab(Resource.Drawable.ic_nearby, "Nearby") 
               });
     _bottomBar.MapColorForTab(0, "#7B1FA2");
     _bottomBar.MapColorForTab(1, "#FF5252");
     _bottomBar.MapColorForTab(2, "#FF9800");
}

1 个答案:

答案 0 :(得分:2)

我为这篇文章的任何人解决了这个问题。我必须用Merit替换GridView。您必须实现RecyclerView才能执行此操作。我使用this资源来实现我的Adapter