Как удалить заголовки из BrowseFragment?

Я работаю над приложением для Android TV и использую библиотеку Leanback.

Я хочу настроить макет приложения "BrowseFragment". Я хочу удалить вид заголовка и отображать только список карт "строк".

Возможно ли это сделать или есть другое решение для достижения этой цели?

Я хочу удалить это

1 ответ

Решение

Вы должны установить 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);
}

Когда вы изменяете setHeaderState(HEADERS_DISABLED), строки также будут отключены и скрыты. Один из способов сделать это - setHeaderPresenterSelector()

private void setupUIElements() {

    setHeadersState(HEADERS_DISABLED);

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

вам просто нужно переопределить метод getPresenter() и вернуть новый настроенный презентатор, который необходимо реализовать.

Есть два варианта:

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

HEADERS_HIDDEN

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

HEADERS_DISABLED

OnCreate, вы должны установить заголовок:

    setHeadersState(HEADERS_DISABLED); //To Diable the Header

    setHeadersState(HEADERS_HIDDEN); //To Hide the Header
Другие вопросы по тегам