【问题标题】:Android TV: Disable collapsing on info_field on ImageCardViewAndroid TV:在 ImageCardView 上的 info_field 上禁用折叠
【发布时间】:2016-09-20 12:15:23
【问题描述】:

我是第一次使用 Android TV,我正在通过修改提供的示例电视应用来学习使用 Leanback。

我遇到的问题是,当我在列表中的第一项上按左键时,导航抽屉打开并且焦点转到导航抽屉中的标题。发生这种情况时,ImageCardViews 中的 info_field 视图会在图像后面折叠。

会发生什么:当我打开导航抽屉时,ImageCardView 上的信息字段会隐藏。

我想要发生的事情:当我打开导航抽屉时,信息字段仍然可见。

我确信有办法做到这一点,因为我在一些 Android TV 应用程序中看到了它,比如 Twitch。当导航抽屉打开时,让 info_field 可见的最佳方式是什么?

【问题讨论】:

    标签: android-tv


    【解决方案1】:

    我已经想出了如何去做。在 CardPresenter 中,在 onCreateViewHolder 中,创建 ImageCardView 时,我重写了 BaseCardView 方法,setActivated(booleanactivated) 始终将“true”传递给它的 super。然后调用 setActivated 使其从一开始就被激活。像这样:

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent) {
    ImageCardView cardView = new ImageCardView(parent.getContext()) {
            @Override
            public void setActivated(boolean activated) {
                super.setActivated(true);
            }
            @Override
            public void setSelected(boolean selected) {
                updateCardBackgroundColor(this, selected);
                super.setSelected(selected);
            }
        };
    
        cardView.setActivated(true);
        cardView.setFocusable(true);
        cardView.setFocusableInTouchMode(true);
        return new ViewHolder(cardView)
    }
    

    所以这对我有用。 ImageCardView 永远不会崩溃。

    【讨论】:

      【解决方案2】:

      我认为,如果您查看this SO post,您将了解大部分情况。由于leanback 所谓的“扩展”,信息视图会隐藏。

      尝试在您的BrowseFragment 中调用enableMainFragmentScaling(false);,看看是否符合您的要求。如果感觉不是您想要的,请参阅我链接到的帖子。

      此外,如果您已经尝试过我在链接的 SO 帖子中推荐的内容,您还可以在 BaseCardView setInfoVisibility() 上调用 API 并将其传递给 CARD_REGION_VISIBLE_ALWAYS。这只需要调用对您的卡片的引用,而无需覆盖 Presenter 或 Card。

      【讨论】:

      • 感谢您的回复,但这不是我想要的。它似乎只是禁用了展开/折叠单元格的动画。
      • 我刚刚修改了我的帖子,它不需要覆盖 ImageCardView 并利用它们在 Card 对象上提供的 API。我确实建议您查看链接的 SO 帖子,因为它有一个更复杂的答案,应该可以完成您正在做的事情。
      猜你喜欢
      • 1970-01-01
      • 2019-11-27
      • 1970-01-01
      • 2015-06-25
      • 1970-01-01
      • 2021-06-10
      • 2016-08-27
      • 2011-03-28
      • 2015-06-12
      相关资源
      最近更新 更多