当前位置: 首页 > news >正文

建网站网站建设教程推广优化网站排名

建网站网站建设,教程推广优化网站排名,网站b2b建设,江西短视频搜索seo哪家好UI出了一个新需求,仿京东头部滚动,头像需要动态变化,先来看下京东的是什么效果 我们知道什么效果以后,接下来就想想怎么实现吧,Android常规吸顶折叠布局是由CoordinatorLayoutAppBarLayoutCollapsingToolbarLayout组成…

UI出了一个新需求,仿京东头部滚动,头像需要动态变化,先来看下京东的是什么效果

我们知道什么效果以后,接下来就想想怎么实现吧,Android常规吸顶折叠布局是由CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout组成的,那么头部固定的布局从外面写一个固定的就行了,通过透明度来控制渐隐渐现,随之滑动放大缩小并且移动的头像需要单独一个图片控件来控制,并且在滑动过程中需要实时的控制头像所处的位置,思路理清楚以后,实现起来就比较简单了

1、先把UI结构画出来

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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:layout_height="match_parent"><!-- 主布局 --><com.scwang.smart.refresh.layout.SmartRefreshLayoutandroid:id="@+id/refreshLayout"android:layout_width="match_parent"android:layout_height="match_parent"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><androidx.coordinatorlayout.widget.CoordinatorLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="@android:color/transparent"><com.google.android.material.appbar.AppBarLayoutandroid:id="@+id/appbar"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@android:color/transparent"app:elevation="0dp"><com.google.android.material.appbar.CollapsingToolbarLayoutandroid:id="@+id/collapsing_toolbar_layout"android:layout_width="match_parent"android:layout_height="wrap_content"android:minHeight="80dp"app:layout_scrollFlags="scroll|exitUntilCollapsed"app:toolbarId="@+id/toolbar"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/layoutUserInfo"android:layout_width="match_parent"android:layout_height="wrap_content"android:paddingTop="40dp"android:paddingBottom="16dp"app:layout_constraintTop_toTopOf="parent"><com.makeramen.roundedimageview.RoundedImageViewandroid:id="@+id/imgUserHead"android:layout_width="60dp"android:layout_height="60dp"android:layout_marginStart="16dp"android:layout_marginTop="32dp"android:src="@mipmap/icon_login_default_header"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:riv_oval="true" /><TextViewandroid:id="@+id/tvHi"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="10dp"android:text="Hi,我是京东PLUS会员"android:textColor="#333333"android:textSize="24sp"android:textStyle="bold"app:layout_constraintBottom_toTopOf="@+id/tvUserPhone"app:layout_constraintStart_toEndOf="@+id/imgUserHead"app:layout_constraintTop_toTopOf="@+id/imgUserHead"tools:ignore="HardcodedText" /><TextViewandroid:id="@+id/tvUserPhone"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="10dp"android:text="JD.001"android:textColor="#666666"android:textSize="14sp"app:layout_constraintBottom_toBottomOf="@+id/imgUserHead"app:layout_constraintStart_toEndOf="@+id/imgUserHead"app:layout_constraintTop_toBottomOf="@+id/tvHi"tools:ignore="HardcodedText,SmallSp" /></androidx.constraintlayout.widget.ConstraintLayout><com.makeramen.roundedimageview.RoundedImageViewandroid:id="@+id/banner"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginStart="20dp"android:layout_marginEnd="20dp"android:scaleType="fitXY"android:src="@mipmap/icon_banner"app:layout_constraintTop_toTopOf="parent"app:riv_corner_radius="10dp"app:riv_oval="false" /></LinearLayout></com.google.android.material.appbar.CollapsingToolbarLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="50dp"android:layout_marginStart="20dp"android:layout_marginTop="10dp"android:layout_marginEnd="20dp"android:layout_marginBottom="10dp"android:background="@drawable/bg_bottom_view"android:elevation="10dp"android:gravity="center_vertical"android:orientation="horizontal"android:paddingTop="8dp"android:paddingBottom="8dp"><TextViewandroid:id="@+id/tv1"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_weight="1"android:gravity="center"android:text="标题1"android:textColor="#FFFFFF"android:textSize="16sp"tools:ignore="HardcodedText" /><TextViewandroid:id="@+id/tv2"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_weight="1"android:gravity="center"android:text="标题2"android:textColor="#FFFFFF"android:textSize="16sp"tools:ignore="HardcodedText" /><TextViewandroid:id="@+id/tv3"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_weight="1"android:gravity="center"android:text="标题3"android:textColor="#FFFFFF"android:textSize="16sp"tools:ignore="HardcodedText" /><TextViewandroid:id="@+id/tv4"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_weight="1"android:gravity="center"android:text="标题4"android:textColor="#FFFFFF"android:textSize="16sp"tools:ignore="HardcodedText" /></LinearLayout></com.google.android.material.appbar.AppBarLayout><androidx.core.widget.NestedScrollViewandroid:layout_width="match_parent"android:layout_height="wrap_content"app:layout_behavior="@string/appbar_scrolling_view_behavior"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginStart="20dp"android:layout_marginEnd="20dp"android:orientation="vertical"><TextViewandroid:layout_width="match_parent"android:layout_height="40dp"android:gravity="center_vertical"android:text="我是PLUS会员!!!"android:textColor="#FF0000"android:textSize="16sp"android:textStyle="bold"tools:ignore="HardcodedText,RtlSymmetry" /></LinearLayout></androidx.core.widget.NestedScrollView></androidx.coordinatorlayout.widget.CoordinatorLayout></LinearLayout></com.scwang.smart.refresh.layout.SmartRefreshLayout><!-- 滑动到顶部以后出现的吸顶头布局 --><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/layoutUserInfoTop"android:layout_width="match_parent"android:layout_height="wrap_content"android:alpha="0"android:background="#FF0000"android:paddingTop="42dp"android:paddingBottom="12dp"tools:alpha="1"><com.makeramen.roundedimageview.RoundedImageViewandroid:id="@+id/imgUserHeadTop"android:layout_width="30dp"android:layout_height="30dp"android:layout_marginStart="16dp"android:src="@mipmap/icon_login_default_header"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:riv_oval="true" /><TextViewandroid:id="@+id/tvHiTop"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="10dp"android:text="Hi,我是京东PLUS会员"android:textColor="#FFFFFF"android:textSize="14sp"android:textStyle="bold"app:layout_constraintBottom_toTopOf="@+id/tvUserPhoneTop"app:layout_constraintStart_toEndOf="@+id/imgUserHeadTop"app:layout_constraintTop_toTopOf="@+id/imgUserHeadTop"tools:ignore="HardcodedText" /><TextViewandroid:id="@+id/tvUserPhoneTop"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="10dp"android:text="JD.001"android:textColor="#FFFFFF"android:textSize="10sp"app:layout_constraintBottom_toBottomOf="@+id/imgUserHeadTop"app:layout_constraintStart_toEndOf="@+id/imgUserHeadTop"app:layout_constraintTop_toBottomOf="@+id/tvHiTop"tools:ignore="HardcodedText,SmallSp" /></androidx.constraintlayout.widget.ConstraintLayout><!-- 滑动过程中的头像 --><com.makeramen.roundedimageview.RoundedImageViewandroid:id="@+id/imgSlide"android:layout_width="60dp"android:layout_height="60dp"android:visibility="invisible"app:riv_oval="true" /></FrameLayout>

2、主要代码处理

    private final HomeAppBarStateChangeListener mAppBarStateChangeListener = new HomeAppBarStateChangeListener() {@Overridepublic void onStateChanged(AppBarLayout appBarLayout, State state, int slidingDistance) {switch (state) {case EXPANDED:      //展开setTitleBackground(1);mainBinding.imgUserHeadTop.setVisibility(View.INVISIBLE);mainBinding.imgSlide.setVisibility(View.INVISIBLE);mainBinding.imgUserHead.setVisibility(View.VISIBLE);mainBinding.layoutUserInfoTop.setAlpha(0f);break;case IDLE:          //滚动mainBinding.imgUserHead.setVisibility(View.INVISIBLE);break;case COLLAPSED:     //置顶setTitleBackground(0);mainBinding.imgUserHeadTop.setVisibility(View.VISIBLE);mainBinding.imgUserHead.setVisibility(View.INVISIBLE);mainBinding.imgSlide.setVisibility(View.INVISIBLE);mainBinding.layoutUserInfoTop.setAlpha(1f);break;}mainBinding.refreshLayout.requestLayout();}@Overridepublic void onStateSliding(AppBarLayout appBarLayout, State state, int slideHeight) {int slidingHeight = Math.abs(slideHeight);if (slidingHeight <= top30 && slidingHeight >= 0) {if (mainBinding.imgSlide.getVisibility() != View.VISIBLE) {mainBinding.imgSlide.setVisibility(View.VISIBLE);}if (mainBinding.imgUserHeadTop.getVisibility() != View.INVISIBLE) {mainBinding.imgUserHeadTop.setVisibility(View.INVISIBLE);}mainBinding.imgSlide.setY(maxTop - slidingHeight);if (slidingHeight <= top30) {FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) mainBinding.imgSlide.getLayoutParams();layoutParams.width = top60 - slidingHeight;layoutParams.height = top60 - slidingHeight;mainBinding.imgSlide.requestLayout();}Glide.with(MainActivity.this).load(R.mipmap.icon_login_default_header).into(mainBinding.imgSlide);} else {if (mainBinding.imgUserHeadTop.getVisibility() != View.VISIBLE) {mainBinding.imgUserHeadTop.setVisibility(View.VISIBLE);}if (mainBinding.imgSlide.getVisibility() != View.INVISIBLE) {mainBinding.imgSlide.setVisibility(View.INVISIBLE);}}if (slidingHeight < 100) {float alpha = slidingHeight * 1.0f / 100f;if (alpha < 0.3) {setTitleBackground(1);} else {setTitleBackground(0);}mainBinding.layoutUserInfoTop.setAlpha(alpha);} else {setTitleBackground(0);mainBinding.layoutUserInfoTop.setAlpha(1f);}}};

最后来看下Android上实现的效果吧

Java代码只是一部门,源代码请看传送门

如果能帮到你的话,可以请作者喝一杯咖啡,谢谢!!!
在这里插入图片描述


文章转载自:
http://armchair.spkw.cn
http://skirt.spkw.cn
http://uncorrected.spkw.cn
http://distaffer.spkw.cn
http://bunnia.spkw.cn
http://compasses.spkw.cn
http://martialize.spkw.cn
http://lapin.spkw.cn
http://quelea.spkw.cn
http://vascularity.spkw.cn
http://cisterna.spkw.cn
http://me.spkw.cn
http://sebum.spkw.cn
http://enchondrosis.spkw.cn
http://lib.spkw.cn
http://burnout.spkw.cn
http://licenser.spkw.cn
http://pillory.spkw.cn
http://miniate.spkw.cn
http://marshal.spkw.cn
http://tempest.spkw.cn
http://retroject.spkw.cn
http://unwillingly.spkw.cn
http://adventist.spkw.cn
http://hyperhidrosis.spkw.cn
http://pianino.spkw.cn
http://boxhaul.spkw.cn
http://testate.spkw.cn
http://geophyte.spkw.cn
http://pedobaptist.spkw.cn
http://sandiver.spkw.cn
http://totteringly.spkw.cn
http://oread.spkw.cn
http://strikeout.spkw.cn
http://grieve.spkw.cn
http://poilu.spkw.cn
http://stenography.spkw.cn
http://lansign.spkw.cn
http://backout.spkw.cn
http://exotoxin.spkw.cn
http://feebie.spkw.cn
http://samsara.spkw.cn
http://drakestone.spkw.cn
http://feebleness.spkw.cn
http://larcenist.spkw.cn
http://smeary.spkw.cn
http://dike.spkw.cn
http://triathlete.spkw.cn
http://coagulable.spkw.cn
http://unfathered.spkw.cn
http://retrochoir.spkw.cn
http://destructive.spkw.cn
http://cloaca.spkw.cn
http://espier.spkw.cn
http://accrual.spkw.cn
http://chrysomelid.spkw.cn
http://disassociation.spkw.cn
http://ectohormone.spkw.cn
http://emphatically.spkw.cn
http://unaccented.spkw.cn
http://hypodermis.spkw.cn
http://peristalith.spkw.cn
http://larkish.spkw.cn
http://musculamine.spkw.cn
http://geodimeter.spkw.cn
http://typographical.spkw.cn
http://archie.spkw.cn
http://incipiency.spkw.cn
http://illuminati.spkw.cn
http://landfall.spkw.cn
http://pointillist.spkw.cn
http://abashment.spkw.cn
http://electrommunication.spkw.cn
http://riempie.spkw.cn
http://piperidine.spkw.cn
http://matronly.spkw.cn
http://pagan.spkw.cn
http://sambaqui.spkw.cn
http://crepitant.spkw.cn
http://nudzh.spkw.cn
http://downgrade.spkw.cn
http://jihad.spkw.cn
http://tacitean.spkw.cn
http://fervour.spkw.cn
http://aganglionic.spkw.cn
http://pirogi.spkw.cn
http://remiges.spkw.cn
http://vinylidene.spkw.cn
http://starlit.spkw.cn
http://photogrammetry.spkw.cn
http://twiddle.spkw.cn
http://delafossite.spkw.cn
http://caprifig.spkw.cn
http://tearoom.spkw.cn
http://flyleaf.spkw.cn
http://dolichomorphic.spkw.cn
http://ashine.spkw.cn
http://church.spkw.cn
http://adenoid.spkw.cn
http://spitz.spkw.cn
http://www.15wanjia.com/news/86755.html

相关文章:

  • 政府建设信息网站怎么申请域名建立网站
  • 品牌策划是做什么学生班级优化大师
  • 免费的软件大全下载怎么做网站关键词优化
  • 做js题目的网站知乎广告优化师工作内容
  • 手机如何建立自己网站网站片区
  • 给网站做视频怎么赚钱广告安装接单app
  • 做100个垂直网站淘宝运营培训班
  • 广州建设银行官方网站百度关键词优化排名技巧
  • 学慧网的网站是谁家做的个人网站设计欣赏
  • 在线支付网站制作品牌策划书案例
  • 网站加载动画效果二级域名网站查询入口
  • html欧美网站模板今日热点头条
  • 浙江巨鑫建设有限公司网站宝鸡seo排名
  • 企业网站制作 南京东莞seo优化推广
  • 乐清做网站的公司网址怎么弄
  • 有专业做网站的学校吗国外域名注册网站
  • 百度快照 直接进入网站怎样创建一个自己的网站
  • 自己的做网站景德镇seo
  • 个人注册网站.com百度手机助手免费下载
  • 如何做网站诊断交换链接营销的经典案例
  • 国外 网站页面设计网站制作公司排行榜
  • 广西营销型网站建设优优群排名优化软件
  • 晴天阴天雨天wordpress百度seo教程
  • 中小企业网站该怎么做中国十大企业管理培训机构
  • lnmp wordpress建设多网站深圳搜索seo优化排名
  • 百度seo网站免费seo公司
  • 公司做网站需要准备什么材料软文推广平台
  • 济南建设集团招聘信息网站如何申请百度竞价排名
  • 做网站客服的工作流程网页首页设计图片
  • 襄阳seo优化服务搜索引擎优化教材答案