如何解决滚动到特定项目时gridview提高活动
所以,我有一个gridview以及它上面的许多其他小部件,例如imageview,recycleview(水平),textview等,一切都很好,但是我希望我的gridview在滚动直到到达时也滚动整个活动在滚动视图直到到达顶部之前,recycleview然后再到recycleview到gridview上方。 然后,GridView再次正常滚动。 这是更具体的说明:
例如,这就是我现在拥有的:
我希望在滚动时发生这种情况:
然后滚动停止到此处:
然后,Gridview将再次开始正常运行,直到我向上滚动!
这是我的代码:
<GridView
android:id="@+id/gridview2"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_below="@+id/specialityicon"
android:layout_alignStart="@+id/specialityicon"
android:layout_alignLeft="@+id/specialityicon"
android:layout_alignEnd="@+id/specialityicon"
android:layout_alignRight="@+id/specialityicon"
android:layout_alignParentBottom="true"
android:horizontalSpacing="1dp"
android:numColumns="3"
android:paddingRight="10dp"
android:paddingLeft="20dp"
android:paddingTop="10dp"
android:verticalSpacing="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent="0.40"
app:layout_constraintHorizontal_bias="0.494"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0"
app:layout_constraintWidth_percent="1" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/reco"
android:layout_width="0dp"
android:layout_height="210dp"
app:layout_constraintBottom_toTopOf="@+id/gridview2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent="0.30"
app:layout_constraintHorizontal_bias="0.448"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editTextTextPersonName"
app:layout_constraintVertical_bias="0.159"
app:layout_constraintWidth_percent="0.93" />
<ImageView
android:id="@+id/imageView"
android:layout_width="107dp"
android:layout_height="64dp"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/sadas"
app:layout_constraintBottom_toTopOf="@+id/gridview2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/recyclerView2"
app:layout_constraintVertical_bias="0.45" />
</androidx.constraintlayout.widget.ConstraintLayout>
解决方法
将app:nestedScrollingEnabled="false"
添加到您的GridView
并将ConstraintLayout
包裹在NestedScrollView
中,如下所示:
<androidx.core.widget.NestedScrollView android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView.../>
<androidx.recyclerview.widget.RecyclerView.../>
<GridView
...
app:nestedScrollingEnabled="false"
...
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。