您好,有一个嵌套滚动视图,我想在嵌套滚动视图上设置点击侦听器,以便在向上滚动嵌套滚动视图时可以执行某些操作,例如在向上滚动嵌套滚动时显示吐司显示向上滚动视图,并用于显示在向下滚动嵌套滚动视图时向下滚动的吐司面包
这是我的嵌套滚动视图
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_margin="5dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum"
/>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
答案 0 :(得分:0)
我认为您可以使用SwipeRefreshLayout而不是NestedScrollView。您可以通过回调管理滚动功能。
答案 1 :(得分:0)
为滚动视图分配一个ID
<androidx.core.widget.NestedScrollView
android:id="@+id/nested_scroll_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_margin="5dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/lorem_ipsum"
/>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
声明您的滚动视图
NestedScrollView nestedScrollView;
通过ID查找滚动视图
nestedScrollView = view.findViewById(R.id.nested_scroll_view);
将滚动更改侦听器设置为nestedScrollView
nestedScrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
if (scrollY>scrollX){
Toast.makeText(getContext(), "Scrolling Down", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getContext(), "Scrolling Up", Toast.LENGTH_SHORT).show();
}
}
});
瞧,将您的操作放在if语句中