如何从 BrowseFragment 中删除 headers?

How to remove headers from BrowseFragment?

我正在开发一个 android 电视应用,我正在使用 Leanback 库。

我想自定义应用布局"BrowseFragment"。我想删除 header 视图,只显示卡片列表 "rows".

是否可以这样做,或者是否有任何其他解决方案可以实现?

I want to remove that

您必须像这样设置 HeaderState:

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    setHeadersState(HEADERS_DISABLED); // Add this line
}

上面的调用实际上需要在OnCreate方法中而不是在OnActivityCreated中。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHeadersState(HEADERS_DISABLED);
}

有两种选择:

/** The headers fragment is enabled and hidden by default. */

HEADERS_HIDDEN

/** The headers fragment is disabled and will never be shown. */

HEADERS_DISABLED

创建时,您必须设置页眉:

    setHeadersState(HEADERS_DISABLED); //To Diable the Header

    setHeadersState(HEADERS_HIDDEN); //To Hide the Header

当您更改 setHeaderState(HEADERS_DISABLED) 时,这些行也将被禁用和隐藏。 一种方法是 setHeaderPresenterSelector()

private void setupUIElements() {

    setHeadersState(HEADERS_DISABLED);

    setHeaderPresenterSelector(new PresenterSelector() {
        @Override
        public Presenter getPresenter(Object item) {
            return new CustomPresenter();
        }
    });
}

您只需要重写 getPresenter() 方法,return 您需要实现的新自定义演示者。