Как удалить заголовки из 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