android - 如何禁用或停止坐标布局滚动
问题描述
我面临一个问题。
我有一个坐标布局,里面有工具栏等等。
我里面也有一个框架布局,框架内布局我有三个片段。
那里有一个聊天片段,因为我有一个回收站视图。
移动到该选项卡时,我使用 AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL 或 AppBarLayout.LayoutParams.SCROLL_FLAG_EXIT_UNTIL_COLLAPSED 滚动布局。
但是当我滚动回收器视图时,坐标布局也会滚动。
我希望坐标布局仅在第一次滚动,并希望在回收器视图滚动时禁用。
这是我的 XML 文件。
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:id="@+id/co_ordinate_layout"
android:layout_height="match_parent"
android:background="@color/offwhite">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/offwhite"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
tools:ignore="ExtraText">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/collapseBar"
android:layout_width="match_parent"
android:layout_height="200dp"
app:expandedTitleMarginBottom="94dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="@null"
android:backgroundTint="@color/white"
android:visibility="visible"
app:layout_collapseMode="pin"
app:navigationIcon="@drawable/ic_cancel" />
</com.google.android.material.appbar.CollapsingToolbarLayout>
<TextView
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/_7sdp"
android:gravity="center"
android:orientation="vertical"
android:padding="@dimen/_7sdp"
android:text="Mimi51"
android:textColor="@color/secondary_text"
android:textSize="@dimen/_20sdp"
app:layout_scrollFlags="scroll|enterAlways|snap" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:gravity="center"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/llProfile"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tvProfile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
android:paddingStart="@dimen/_5sdp"
android:paddingEnd="@dimen/_5sdp"
android:text="@string/profile"
android:textAllCaps="true"
android:textColor="@color/secondary_text"
android:textSize="@dimen/normal_textsize"
android:textStyle="bold" />
<View
android:id="@+id/viewProfile"
android:layout_width="match_parent"
android:layout_height="@dimen/_2sdp"
android:background="@color/theme" />
</LinearLayout>
<LinearLayout
android:id="@+id/llPlayList"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tvPlayList"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
android:paddingStart="@dimen/_5sdp"
android:paddingEnd="@dimen/_5sdp"
android:text="@string/playlist"
android:textAllCaps="true"
android:textColor="@color/secondary_text"
android:textSize="@dimen/normal_textsize"
android:textStyle="bold" />
<View
android:id="@+id/viewPlayList"
android:layout_width="match_parent"
android:layout_height="@dimen/_2sdp"
android:background="@color/theme" />
</LinearLayout>
<LinearLayout
android:id="@+id/llChat"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="horizontal"
android:paddingStart="@dimen/_5sdp"
android:paddingEnd="@dimen/_5sdp">
<TextView
android:id="@+id/tvChat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:text="Chat"
android:textAllCaps="true"
android:textColor="@color/secondary_text"
android:textSize="@dimen/normal_textsize"
android:textStyle="bold" />
<TextView
android:id="@+id/tvChatConut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/_5sdp"
android:background="@drawable/stock_chat_count"
android:orientation="vertical"
android:paddingStart="@dimen/_10sdp"
android:paddingTop="@dimen/_2sdp"
android:paddingEnd="@dimen/_10sdp"
android:paddingBottom="@dimen/_2sdp"
android:text="1"
android:textAllCaps="true"
android:textColor="@color/theme"
android:textSize="@dimen/small_textsize" />
</LinearLayout>
<View
android:id="@+id/viewChat"
android:layout_width="match_parent"
android:layout_height="@dimen/_2sdp"
android:background="@color/theme" />
</LinearLayout>
</LinearLayout>
<View
android:id="@+id/view_header"
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="@color/gray_light"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cl_header" />
</com.google.android.material.appbar.AppBarLayout>
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/imgProfile"
android:layout_width="160dp"
android:layout_height="160dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:elevation="8dp"
android:padding="3dp"
android:src="@color/theme"
app:layout_anchorGravity="top|center_horizontal"
app:layout_scrollFlags="scroll" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
解决方案
推荐阅读
- javascript - 有没有办法通过移动设备上的前置摄像头javascript自动拍照?
- python - 如何使用引导程序设置我的 Plotly Dash 应用程序的样式?
- javascript - 如何使用 javascript 更改 iframe 源
- angular - 使用 ng-maphilight 鼠标悬停时以编程方式突出显示地图区域
- php - 月份名称是否可以用我的语言显示
- python - 无法使用 python 子进程模块运行 scp 命令
- node.js - 获取 TypeError:Router.use() 需要一个中间件函数,但有一个未定义的
- php - 我可以使用`??`(空合并运算符)而不是空的吗?
- google-apps-script - 如果 UrlFetchApp 出错,则 muteHttpExceptions 跳转到第 86 行
- python - ImportError: cannot import name 'string_int_label_map_pb2' (尝试了网络上的所有解决方案)