【问题标题】:Short black flashs when switching fragments in navigation drawer在导航抽屉中切换片段时短暂的黑色闪烁
【发布时间】:2014-12-31 05:26:08
【问题描述】:

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

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

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

  2. 其中1个fragment在代码中完全是空的,它也闪烁。

  3. 我在交易中有动画,但它以前可以工作,现在不行了,闪烁。我试着移除它,但我仍然得到闪光。
  4. 我读过 SurfaceView,但对于我的项目来说它似乎太复杂了,因为它只是一个简单的时间和金钱跟踪器。

重要提示: 当我单击返回按钮时,没有闪光灯,动画运行流畅。 我正在我自己的设备 Galaxy s5 上进行测试。

到目前为止我所阅读的内容没有帮助: Whole screen turns into black for a short while when first switching between Fragment and MapFragment

Starting activity shows black flash

Switching between Android Navigation Drawer image and Up caret when using fragments

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

**

  • 编辑

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

我不知道如何解决它。

【问题讨论】:

    标签: android flash android-fragments navigation


    【解决方案1】:

    在最后一次编辑之后,我对问题有了更好的描述并找到了一个好的解决方案(至少对我来说) 关联: DrawerLayout's item click - When is the right time to replace fragment?

    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);
    }
    

    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多