android NestedScrollView中包裹MaterialCardView 解决两者的滑动、滑动惯性冲突
时间: 2024-03-01 20:56:24 浏览: 57
在 Android 中,如果将 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 的滑动、滑动惯性冲突问题。
阅读全文