如何在旧 API 上使用 Actionbar.setHideOnContentScrollEnabled
how to use Actionbar.setHideOnContentScrollEnabled on older APIs
我用过这个xml:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:nestedScrollingEnabled="true">
...
...
</ScrollView>
在activity中:
ActionBar myActionBar;
myActionBar = getSupportActionBar();
myActionBar.setHideOnContentScrollEnabled(true);
它在 android 5 上有效,我想在较旧的 APIs 上使用它,但 nestedScrollingEnabled 仅在 API 21 上受支持。
我确定这应该适用于较旧的 APIs ,因为大多数 google 应用程序都使用此功能。
有什么想法吗?
nestedScrollingEnabled
用于允许子视图在父视图中滚动。
取决于您 ScrollView
中是否有更多滚动子项,因此需要 nestedScrollingEnabled
。
如果您只有一个 ScrollView
,隐藏 ActionBar
应该在滚动回调中根据收集的数量 dy
完成。这基本上就是 setHideOnContentScrolled()
所做的。您可以在 Y 轴上 offset/translate 您的 Toolbar
(如果您将工具栏用作操作栏)一定数量,或者只需在操作栏上调用 .hide() 。这应该适用于所有版本。
我用过这个xml:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:nestedScrollingEnabled="true">
...
...
</ScrollView>
在activity中:
ActionBar myActionBar;
myActionBar = getSupportActionBar();
myActionBar.setHideOnContentScrollEnabled(true);
它在 android 5 上有效,我想在较旧的 APIs 上使用它,但 nestedScrollingEnabled 仅在 API 21 上受支持。 我确定这应该适用于较旧的 APIs ,因为大多数 google 应用程序都使用此功能。
有什么想法吗?
nestedScrollingEnabled
用于允许子视图在父视图中滚动。
取决于您 ScrollView
中是否有更多滚动子项,因此需要 nestedScrollingEnabled
。
如果您只有一个 ScrollView
,隐藏 ActionBar
应该在滚动回调中根据收集的数量 dy
完成。这基本上就是 setHideOnContentScrolled()
所做的。您可以在 Y 轴上 offset/translate 您的 Toolbar
(如果您将工具栏用作操作栏)一定数量,或者只需在操作栏上调用 .hide() 。这应该适用于所有版本。