Android 吸顶布局,view折叠及折叠监听:CollapsingToolbarLayout,AppBarLayout


<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <androidx.coordinatorlayout.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toTopOf="parent">
        <com.google.android.material.appbar.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/app_bar1"
            android:fitsSystemWindows="true"
            android:background="@color/white"
            android:theme="@style/Widget.Design.AppBarLayout">

            <!--  吸顶布局之上的布局,会滑出界面  -->
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="@dimen/dp_90"
                android:gravity="center_vertical"
                android:layout_marginLeft="@dimen/dp_12"
                app:layout_scrollFlags="scroll|exitUntilCollapsed"
                android:orientation="vertical">
                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="选择职位类型"
                    android:textSize="@dimen/sp_22"
                    android:textStyle="bold"
                    android:textColor="#474747"
                    />
                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="@dimen/dp_10"
                    android:textSize="@dimen/sp_12"
                    android:textColor="#474747"
                    android:text="选择职位信息对应的职位类型"/>
            </LinearLayout>
            <!--   要固定在顶部的布局     -->
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="@dimen/dp_45"
                android:layout_marginLeft="@dimen/dp_12"
                android:background="@color/green"
                android:orientation="horizontal">
                <ImageView
                    android:layout_width="@dimen/dp_19"
                    android:layout_height="@dimen/dp_19"
                    android:layout_gravity="center_vertical"
                    android:src="@drawable/abc_vector_test"
                    />
                <EditText
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:hint="搜索职位类型"
                    android:textColorHint="#999999"
                    android:layout_marginLeft="@dimen/dp_12"
                    android:textSize="@dimen/sp_15"
                    android:background="@null"
                    android:id="@+id/search_et"
                    android:textColor="#999999"
                    />

            </LinearLayout>

        </com.google.android.material.appbar.AppBarLayout>
    </androidx.coordinatorlayout.widget.CoordinatorLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

对于是否折叠的监听:

AppBarLayout appBarLayout = view.findViewById(R.id.appBarLayout);
 appBarLayout.setOutlineProvider(null);
            CollapsingToolbarLayout collapsingToolbarLayout = view.findViewById(R.id.collapsingToolbarLayout);
            collapsingToolbarLayout.setOutlineProvider(ViewOutlineProvider.BOUNDS);

appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener(){
                @Override
       public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
                   
              if (viewHeight==0){
                   viewHeight = videoView.getHeight();
              }
               if (viewHeight!=0){
                   if (viewHeight+verticalOffset==0){
                       videoView.setVisibility(View.INVISIBLE);
                       return;
                    }
                }
                if (videoView.getVisibility()==View.INVISIBLE){
                     videoView.setVisibility(View.VISIBLE);
                     videoView.start();
                 }
        }
});

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jian11058

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值