我正在开发一个Android TV应用,并使用Leanback库。我想自定义应用程序布局的"BrowseFragment"。我想移除头视图,只显示卡片列表"rows"。是否可以实现这个目标,或者有其他的解决方案?我想移除那个。
上述调用实际上需要在OnCreate方法中而不是OnActivityCreated方法中。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHeadersState(HEADERS_DISABLED);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setHeadersState(HEADERS_DISABLED); // Add this line
}
有两个选项:
/** The headers fragment is enabled and hidden by default. */
HEADERS_HIDDEN
/** The headers fragment is disabled and will never be shown. */
HEADERS_DISABLED
在OnCreate中,您需要设置Header:
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()方法,并返回你需要实现的新定制化Presenter。