2017-10-20 48 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

相關問題