2017-10-20 47 views
0

我想要在选择它们时禁用BrowseFragment中项目的默认动画,即缩放动画和位置更改。我希望项目留在原来的位置,而不是在选择时更改它们的大小。当BrowseFragment在选定项目更改时禁用动画

到目前为止,我在我的ListRowPresenter对象上尝试了各种东西,例如将OnItemViewSelectedListene设置为null,但没有成功。

我该如何做到这一点? (我正在使用leanback库的版本26)

回答

0

通过将ZOOM_FACTOR_NONE传递给ListRowPresenter的构造函数,可以将动画缩放因子设置为none。

有一个ListRowPresenter的构造函数来控制动画(focusZoom)。

documentation

ListRowPresenter(INT focusZoomFactor)

构造具有给定参数的ListRowPresenter。

参数

focusZoomFactor INT:控制在项目视图集中使用的变焦倍率。 ZOOM_FACTOR_NONE,ZOOM_FACTOR_SMALL,ZOOM_FACTOR_XSMALL,ZOOM_FACTOR_MEDIUM,ZOOM_FACTOR_LARGE中的其中一个调焦默认为禁用。

实施例:

ArrayObjectAdapter adapter = 
     new ArrayObjectAdapter(new ListRowPresenter(ZOOM_FACTOR_NONE)); 
setAdapter(adapter); 

ArrayObjectAdapter rowAdapter = 
     new ArrayObjectAdapter(new MyCardViewPresenter(getContext())); 

HeaderItem header = new HeaderItem("Header Title"); 
ListRow row = new ListRow(header, rowAdapter); 

for (Video video : videos) { 
    rowAdapter.add(video); 
} 
adapter.add(row); 
+0

我尝试这样做没有任何效果。我正在实施'PageRow'设计,也许它有一些副作用? – tufekoi

+0

如果我在'PageRow'里面使用这个,动画实际上被禁用,同时在行中选择卡片。所以这个工作,但不是我想要的。我需要禁用菜单动画 – tufekoi

相关问题