Мне бы хотелось, чтобы Toolbar
моей активности плавно прокручивался по мере роста данного прокрутки, а затем плавно прокручивался назад, если пользователь прокручивал вниз. То есть основное scroll|enterAlways
поведение, например, это ответ.
Однако у моего макета есть несколько слоев между CoordinatorLayout
, содержащим Toolbar
, и ScrollView
, который должен управлять всем. В отличие от этого ответа , я хотел бы иметь следующую раскладку:
CoordinatorLayout
AppBarLayout
Toolbar
LinearLayout [vertical]
LinearLayout [vertical]
ImageView
ScrollView
Два, казалось бы, избыточные LinearLayout
предназначены для управления цветом фона; и идея с ImageView
и ScrollView
заключается в том, что мой пользовательский интерфейс должен выглядеть следующим образом:
+------------+
|TOOLBAR =|
+------------+
| |
| IMAGE |
| |
|111111111111|
|222222222222|
|333333333333|
|444444444444|
+------------+
, который затем следует прокрутить до
+TOOLBAR----=+
+------------+
| |
| IMAGE |
| |
|111111111111|
|222222222222|
|333333333333|
|444444444444|
|555555555555|
+------------+
и далее
+------------+
| |
| IMAGE |
| |
|111111111111|
|222222222222|
|333333333333|
|444444444444|
|555555555555|
|666666666666|
+------------+
, а затем
+------------+
| |
| IMAGE |
| |
|222222222222|
|333333333333|
|444444444444|
|555555555555|
|666666666666|
|777777777777|
+------------+
(с числами, представляющими вещи в ScrollView
).
вышеописанное поведение я смог получить, просто установив
app:layout_scrollFlags="scroll|enterAlways"
на Toolbar
в стандартной комплектации. Однако, если я затем начну перетаскивать ScrollView
, Toolbar
не вернется. На самом деле, я не нашел способа вернуть Toolbar
после его прокрутки.