Android TV 中的持久标题片段(禁用动画)(leanback)

Mon*_*ego 5 android-tv leanback

有谁知道如何实现标题中的问题?目标是避免在单击标题后 Leanback 应用程序放大行项目时导致标题栏消失的动画。

BrowseSupportFragment的 setHeadersState 没有帮助。也许与在 OnHeaderClickedListener 期间劫持 startHeadersTransitionInternal 有关?如果是这样,知道如何正确实施它吗?

Mic*_*ley 4

所以这个问题的问题是转换是由startHeadersTransitionInternal包私有的方法处理的。因此,在大多数情况下您无法覆盖它。但是,由于它只是私有而不是私有私有,因此您可以对此进行一些修改。

首先,在您的应用程序中创建一个与BrowseSupportFragment. 然后在该包中创建一个类,该类扩展BrowseSupportFragment并覆盖有问题的方法,但没有实现。那看起来像这样:

package android.support.v17.leanback.app; // Different for AndroidX

public class HackyBrowseSupportFragment extends BrowseSupportFragment {

    @Override
    void startHeadersTransitionInternal(boolean withHeaders) {
        // Do nothing. This avoids the transition.
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,BrowseSupportFragment您将扩展 ,而不是扩展HackyBrowseSupportFragment

我发现的一件事是,后退按钮将不再重新聚焦其中一行的标题,因此您必须手动执行此操作。除此之外,似乎工作得很好。