添加片段时的 FlyOut 菜单设计问题

Posted

技术标签:

【中文标题】添加片段时的 FlyOut 菜单设计问题【英文标题】:FlyOut menu design issue when adding fragment 【发布时间】:2015-07-05 00:33:42 【问题描述】:

我正在尝试在添加片段时让弹出菜单正常工作。 所以,感谢这段代码,我有一个弹出菜单:

https://github.com/garuma/FlyOutMenu/tree/master/FlyOutMenu

    <com.myApp.FlyOutContainer xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_
         android:layout_
         android:id="@+id/FlyOutContainer">
         <include
              layout="@layout/menu_layout"
              android:id="@+id/menu_layout" />
         <include
              layout="@layout/content_layout"
              android:id="@+id/content_layout" />
    </comm.myApp.FlyOutContainer>

在我的应用程序开始时,content_layout 由以下布局组成:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/content"
    android:orientation="vertical"
    android:layout_
    android:layout_>
    <include
        layout="@layout/top_bar_layout"
        android:id="@+id/top_bar_layout" />
    <include
        layout="@layout/root_layout"
        android:id="@+id/root_layout" />
</LinearLayout>

启动后,我的activity在root_layout中添加了一个片段:

    // Create new fragment and transaction
    Fragment questionListFragment = new QuestionListFragment();
    FragmentTransaction transaction = FragmentManager.BeginTransaction();

    transaction.Add(Resource.Id.root_layout, questionListFragment);
    // Commit the transaction
    transaction.Commit();

这个新片段包含刷新布局和列表视图的滑动。 当我从左向右滑动时,菜单显示得很好。但是要隐藏它(从右向左滑动),背景中的菜单。

更新:

我认为问题出在 notifyDataSetChanged 上。当菜单打开时,我的视图没有居中,我更新了我的列表视图。因此,在更新时,我的视图被重新创建并重新居中,并且菜单保持在后台...... 我该如何解决?

这里有截图可以理解: (我还不能在 *** 上发布图片,并且链接不超过 2 个......)

问题来了:

【问题讨论】:

【参考方案1】:

我建议使用标准的导航绘图。你可以在这里找到我的例子:https://github.com/jamesmontemagno/Xam.NavDrawer

【讨论】:

感谢您的回答@JamesMontemagno,我认为我的问题来自我的 SwipeRefreshLayout。当我禁用它时,一切正常。在输出中,我有:[SwipeRefreshLayout] Got ACTION_MOVE event but don't have an active pointer id. 也许这里有同样的问题:swiperefreshlayout got action move freezes

以上是关于添加片段时的 FlyOut 菜单设计问题的主要内容,如果未能解决你的问题,请参考以下文章

斗天斗地斗控件 -- 与 Flyout 控件的斗争史

底部的 Xamarin Forms Flyout 菜单

片段变得可见时的监听器

Xamarin.Forms Shell 在汉堡菜单中将 Flyout Menu 与 MenuItem 组合并排序

layui模板添加菜单时的图标在哪里

关于侧边导航菜单和片段的一般设计问题