我想爲我的應用程序實現某種輪選取器,因爲當前的選項依賴於自定義Views
或舊的ListView
,所以我想基於RecyclerView
我的解決方案。在RecyclerView垂直中心選定的項目
我做什麼之前,這是設置在開始和與不同類型的結束,一個名爲PADDING_TYPE
使得第一和最後一個項目的RecyclerView
垂直居中。
recyclerView.post(new Runnable() {
@Override
public void run() {
//80dp is the height of a regular list item
int paddingHeight = ((recyclerView.getHeight()-SettingsManager.dptopixels(80))/2);
binding.getRoot().getLayoutParams().height = paddingHeight;
}
});
現在我想了解如何保持選定的項目垂直居中。
我試過到目前爲止:
1 LinearSnapHelper
LinearSnapHelper helper = new LinearSnapHelper();
helper.attachToRecyclerView(mRecyclerView);
不按預期工作,我也試着重寫幾種方法(可能以錯誤的方式),但我可以不會自動垂直居中選擇。而且它不夠快速,所選項目「移動」而不是鎖定到垂直中心。
2-定製RecyclerView.OnScrollListener
我試圖適應代碼提出here,這對於橫向滾動,通過在此RecyclerView.OnScrollListener
線
allPixelsDate += dx;
改變與垂直滾動差:
allPixelsDate += dy;
本實施方案n接近工作,因爲它選擇了最接近列表的垂直中心的項目,但沒有將其鎖定到中心。
有可能實現這樣的結果嗎?怎麼樣?
更加清楚:我想在1:10時達到顯示的結果here。選擇在中心「鎖定」。
請嘗試此代碼以供參考[鏈接](http://developer.samsung.com/s-pen-sdk/samples/Circle-Launcher) – Moinkhan
我已經使用https://github.com/ai212983/ android-spinnerwheel和我認爲你需要垂直Mannner https://github.com/Jaouan/Carousel-Browsing-Example – Nepster
你可以使用這個方法垂直到這個實現[open this](http://stackoverflow.com/a/38411582/2587027) – wadali