android NestedScrollView和MaterialCardView的滑动、滑动惯性 冲突解决
时间: 2024-01-23 15:04:18 浏览: 76
在 Android 中,NestedScrollView 和 MaterialCardView 是两个常用的控件,它们的滑动和滑动惯性可能会发生冲突。解决这个问题的方法是在 NestedScrollView 中禁用 MaterialCardView 的滑动行为。
具体实现如下:
1. 在布局文件中,将 MaterialCardView 放在 NestedScrollView 的外层,如下所示:
```
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- 放置 NestedScrollView 中的其他控件 -->
</androidx.core.widget.NestedScrollView>
<com.google.android.material.card.MaterialCardView
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardCornerRadius="8dp"
app:cardElevation="4dp"
app:cardUseCompatPadding="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<!-- 放置 MaterialCardView 中的其他控件 -->
</com.google.android.material.card.MaterialCardView>
```
2. 在代码中,禁用 MaterialCardView 的滑动行为:
```
MaterialCardView cardView = findViewById(R.id.card_view);
cardView.setNestedScrollingEnabled(false);
```
通过以上步骤,就可以解决 NestedScrollView 和 MaterialCardView 的滑动、滑动惯性冲突问题。
阅读全文