当前位置: 首页 > 知识库问答 >
问题:

在抽屉菜单中切换片段时的短黑色闪光

暴德运
2023-03-14

现在是早上7点,我整晚都在搜索这个。我得到了一个导航抽屉和列表,它动态地将片段添加到主活动中,并切换到单击的片段。

我是新来的,所以让我试着解释一下我尝试了什么:

>

  • 当我第一次开始这个项目的时候,一切都很好,现在每当我切换的时候,我都有黑色闪光灯,我找不到任何原因。我认为这是在片段的onCreate中的“繁重”工作,但是除了加载视图和设置文本/图像之外,没有更多的工作,除了1个包含计时器的片段,我还有4个除了呈现数据什么也不做的人。

    其中1个片段在代码中完全为空,它也会闪烁。

    重要提示:当我点击后退按钮时,没有闪光灯,动画运行平稳。我正在自己的设备Galaxy s5上进行测试。

    到目前为止,我读到了一些没有帮助的内容:当第一次在Fragment和MapFragment之间切换时,整个屏幕会变黑一段时间

    启动活动显示黑色闪烁

    使用碎片时在Android导航抽屉图像和插入符号之间切换

    https://code.google.com/p/gmaps-api-issues/issues/detail?id=4639

    **

    • 编辑

    **我想我有一个线索:闪烁可能是由我在提交新片段后立即调用的closeDrawer引起的。当抽屉打开时,它后面的ui变暗,我禁用了关闭调用,当我更改碎片时,不会闪烁。

    我不知道怎么修理它。

  • 共有1个答案

    应和悦
    2023-03-14

    在上次编辑之后,我对这个问题有了更好的描述,并找到了一个很好的解决方案(至少对我来说)链接:DrawerLayout的项目点击-什么时候是替换片段的正确时间?

    private class DrawerItemClickListener implements OnItemClickListener {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {
        drawerLayout.closeDrawer(drawerList);
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                switchFragments(position); // your fragment transactions go here
            }
        }, 200);
    }
    

    }

     类似资料:
    • 我希望能够使用导航抽屉,并根据导航中的选择在不同片段之间进行更改。 我正在使用Android Studio,基本上我所做的是这样的: 使用内置模板“导航抽屉活动”创建了一个新项目 创建了一个空白片段 然后我更改了onNavigationDrawerItemSelected方法中的一些代码。 我的程序崩溃了,给了我很多我不理解的错误。我做错了什么?

    • 我在我的应用程序中使用抽屉菜单,并实现了在NavigationDrawer片段类中切换片段的逻辑。我最近读到片段切换只能从托管活动中发生。 有一个从NavigationDrawerFragment调用的接口,用于通知导航抽屉列表视图中所选位置的MainActivity。 我感到困惑的是,在Mainactive中有一个静态片段,它是使用NavigationDrawer片段中接口提供的位置调用的。 P

    • 我有一个导航抽屉项目,我只是从“创建新项目”修改 下面是我用来显示所选片段的代码的一部分: 编辑:这个问题用导航抽屉保存片段状态是我解决问题的最接近的方法,但答案太简单了。。我对Android开发还很陌生。有人能帮忙吗?

    • 你好,我有一个关于Android导航抽屉的问题。我在我的应用程序中包含了导航抽屉,一切都很顺利,但我想将图像添加到列表中的每个菜单中。 我是Android新手,所以如果有人能帮助我,我将不胜感激,这是导航抽屉的源代码 http://javatechig.com/android/navigation-drawer-android-example 这是我的WebViewFragments文件 这是我的

    • 我有一个带有导航抽屉的应用程序,它为每个菜单项使用片段。 每次单击一个项目时,我都会替换当前片段。 问题是,在用户单击后显示新片段需要很长时间,并且它会被卡住。加载时间最长的片段是一个片段,其中还包含子片段的选项卡(一个片段包含一个RecyclerView)<有什么方法可以加快碎片的装载速度吗?(如果可能的话,可能会提前初始化它们?) 这是我的代码: HalachaFragment。cs(包含选项

    • 我不是Android方面的专家,但对片段非常感兴趣。非常感谢您的帮助! 我在我的应用程序中实现了一个导航抽屉。有一个基本抽屉活动和一些片段,用户可以从抽屉菜单中切换。如果我想转移到另一个片段,没有问题,但当我使用意图开始一个新的活动时,它是有效的。如果你看一下我下面的代码,你会发现我使用了两个独立的菜单:一个用于操作栏图标(购物车和搜索),意图在其中完美工作,另一个用于导航抽屉在片段之间跳转。有没