微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用于下方元素的 Android AppBar 布局 ScrollFlag

如何解决用于下方元素的 Android AppBar 布局 ScrollFlag

我有这个应用栏布局;

<com.google.android.material.appbar.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/white"
    android:theme="@style/Theme.Kafein.AppBarOverlay">

    <LinearLayout
      android:id="@+id/search"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:elevation="2dp"
      android:gravity="center_vertical"
      android:orientation="vertical"
      android:translationZ="3dp">

      <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingHorizontal="24dp"
        android:paddingVertical="16dp">

        <ImageView
          android:layout_width="100dp"
          android:layout_height="30dp"
          android:src="@drawable/logo" />

        <ImageView
          android:id="@+id/search_icon"
          android:layout_width="24dp"
          android:layout_height="24dp"
          android:layout_alignParentEnd="true"
          android:layout_centerVertical="true"
          android:src="@drawable/icon_search" />
      </RelativeLayout>
    </LinearLayout>

    <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:paddingBottom="16dp"
      app:layout_scrollFlags="scroll|enteralways|snap">

      <EditText
        android:id="@+id/top_search"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginHorizontal="24dp"
        android:background="@drawable/bg_search"
        android:textColor="@color/gray_dark"
        android:textColorHint="@color/gray"
        android:drawableStart="@drawable/icon_search"
        android:drawablePadding="12dp"
        android:focusable="false"
        android:fontFamily="@font/inter"
        android:hint="@string/home_search"
        android:padding="12dp"
        android:textSize="14sp" />
    </LinearLayout>
  </com.google.android.material.appbar.AppBarLayout>

我想要的是在用户滚动时折叠第二个 LinearLayout(带有 EditText)。但是上面的代码不起作用,没有崩溃。

当我这样做时,它起作用了;

  <com.google.android.material.appbar.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/white"
    android:theme="@style/Theme.Kafein.AppBarOverlay">

    <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:paddingBottom="16dp"
      app:layout_scrollFlags="scroll|enteralways|snap">

      <EditText
        android:id="@+id/top_search"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginHorizontal="24dp"
        android:background="@drawable/bg_search"
        android:drawableStart="@drawable/icon_search"
        android:drawablePadding="12dp"
        android:focusable="false"
        android:fontFamily="@font/inter"
        android:hint="@string/home_search"
        android:padding="12dp"
        android:textColor="@color/gray_dark"
        android:textColorHint="@color/gray"
        android:textSize="14sp" />
    </LinearLayout>

    <LinearLayout
      android:id="@+id/search"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:elevation="2dp"
      android:gravity="center_vertical"
      android:orientation="vertical"
      android:translationZ="3dp">

      <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingHorizontal="24dp"
        android:paddingVertical="16dp">

        <ImageView
          android:layout_width="100dp"
          android:layout_height="30dp"
          android:src="@drawable/logo" />

        <ImageView
          android:id="@+id/search_icon"
          android:layout_width="24dp"
          android:layout_height="24dp"
          android:layout_alignParentEnd="true"
          android:layout_centerVertical="true"
          android:src="@drawable/icon_search" />
      </RelativeLayout>
    </LinearLayout>

  </com.google.android.material.appbar.AppBarLayout>

但我希望带有 EditText 的 LinearLayout 在它位于另一个 LinearLayout 下方时折叠。我怎样才能做到这一点?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。