回答編集履歴
2
質問に合わせて一部説明を変更
answer
CHANGED
@@ -60,5 +60,5 @@
|
|
60
60
|
});
|
61
61
|
```
|
62
62
|
|
63
|
-
なお、smoothScrollBy を使うにしてもその値を自動で求められないかとやっていた時に、なぜか width=150 にすると No.1 と No.
|
63
|
+
なお、smoothScrollBy を使うにしてもその値を自動で求められないかとやっていた時に、なぜか width=150 にすると No.1 と No.7 が中央に出来ない(しようとするとNo.2/No6に戻される)事象が出ました。
|
64
64
|
タッチ操作でも同様でしたのでボタン等の問題では無く LinearLayoutManager もしくは ItemDecoration 関係のようですが、今のところ問題点の想像もついていません。
|
1
smoothScrollBy 版追加
answer
CHANGED
@@ -30,4 +30,35 @@
|
|
30
30
|
}
|
31
31
|
});
|
32
32
|
```
|
33
|
-
としてみてください。
|
33
|
+
としてみてください。
|
34
|
+
|
35
|
+
----
|
36
|
+
|
37
|
+
MainActivity に以下のメソッドを追加し
|
38
|
+
```java
|
39
|
+
private int calcPixelFromDp(int dp){
|
40
|
+
DisplayMetrics metrics = getResources().getDisplayMetrics();
|
41
|
+
return (int)(dp * metrics.density);
|
42
|
+
}
|
43
|
+
```
|
44
|
+
各ボタンは以下のようにすると一応動作しました。
|
45
|
+
-200,200 のところは、それぞれ recycler_view のトップコンテナの width の値(450?)から負数(-450),正数(450)としてください。
|
46
|
+
こちらでは 200 でテストしたのでこの値となっています。
|
47
|
+
```java
|
48
|
+
left_button.setOnClickListener(new View.OnClickListener() {
|
49
|
+
@Override
|
50
|
+
public void onClick(View view) {
|
51
|
+
recyclerView.smoothScrollBy(calcPixelFromDp(-200), 0);
|
52
|
+
}
|
53
|
+
});
|
54
|
+
|
55
|
+
right_button.setOnClickListener(new View.OnClickListener() {
|
56
|
+
@Override
|
57
|
+
public void onClick(View view) {
|
58
|
+
recyclerView.smoothScrollBy(calcPixelFromDp(200), 0);
|
59
|
+
}
|
60
|
+
});
|
61
|
+
```
|
62
|
+
|
63
|
+
なお、smoothScrollBy を使うにしてもその値を自動で求められないかとやっていた時に、なぜか width=150 にすると No.1 と No.8 が中央に出来ない(しようとするとNo.2/No7に戻される)事象が出ました。
|
64
|
+
タッチ操作でも同様でしたのでボタン等の問題では無く LinearLayoutManager もしくは ItemDecoration 関係のようですが、今のところ問題点の想像もついていません。
|