2017-10-20 18 views
0

BrowseFragmentのアイテムのデフォルトアニメーションを無効にする、つまりアニメーションのスケーリングと位置の変更を無効にしたいとします。私は、アイテムがどこにいても、選択されたときにサイズを変更しないようにしたい。選択したアイテムが変更されたときにBrowseFragmentでアニメーションを無効にする

今まで私のListRowPresenterオブジェクトでは、OnItemViewSelectedListeneをヌルに設定しても効果はありませんでした。

どうすればこの問題を解決できますか? (私はleanbackライブラリのバージョン26を使用しています)

答えて

0

ZOOM_FACTOR_NONEをListRowPresenterのコンストラクタに渡すことで、アニメーションのズーム係数をnoneに設定できます。

アニメーション(focusZoom)を制御するためのListRowPresenterのコンストラクタがあります。 documentationから

ListRowPresenter(INT focusZoomFactor)

は、指定されたパラメータでListRowPresenterを構築します。

パラメータ

focusZoomFactor int型:アイテムビューがフォーカスされているときに使用されるズーム倍率を制御します。 ZOOM_FACTOR_NONE、ZOOM_FACTOR_SMALL、ZOOM_FACTOR_XSMALL、ZOOM_FACTOR_MEDIUM、ZOOM_FACTOR_LARGEのうちの1つフォーカスの調光はデフォルトで無効になります。

例:

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

関連する問題