滚动到特定项目时 gridview 提高 activity
gridview raise activity when scrolling until a specific item
所以,我有一个 gridview 和它上面的许多其他小部件,例如 imageview、recycleview(水平)、textview 等等一切都很好,但我希望我的 gridview 滚动整个 activity滚动直到到达 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>
所以,我有一个 gridview 和它上面的许多其他小部件,例如 imageview、recycleview(水平)、textview 等等一切都很好,但我希望我的 gridview 滚动整个 activity滚动直到到达 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>