首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果我使用的是CollapsingToolbarLayout,如何在片段中固定视图?

在Android中,CollapsingToolbarLayout通常与AppBarLayoutToolbar一起使用,以实现可折叠的工具栏效果。如果你想在片段(Fragment)中使用CollapsingToolbarLayout并固定某个视图,你可以采取以下步骤:

  1. 确保布局文件正确设置: 在你的布局XML文件中,确保CollapsingToolbarLayoutAppBarLayoutToolbar的设置是正确的。例如: <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <com.google.android.material.appbar.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <com.google.android.material.appbar.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <androidx.appcompat.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_collapseMode="pin"/> </com.google.android.material.appbar.CollapsingToolbarLayout> <!-- 其他布局内容 --> </androidx.coordinatorlayout.widget.CoordinatorLayout> 在上面的布局中,Toolbar使用了app:layout_collapseMode="pin"属性,这意味着当工具栏折叠时,Toolbar会固定在顶部。
  2. 在片段中引用布局: 在你的片段代码中,你需要引用这个布局。如果你使用的是Fragment,可以通过ViewBinding或者findViewById来获取布局中的视图。 public class MyFragment extends Fragment { private FragmentMyBinding binding; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { binding = FragmentMyBinding.inflate(inflater, container, false); return binding.getRoot(); } @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); // 在这里你可以访问binding.toolbar等视图 } @Override public void onDestroyView() { super.onDestroyView(); binding = null; } }
  3. 确保片段正确关联到布局: 确保你的片段正确地关联到了包含CollapsingToolbarLayout的布局文件。这通常在你的Activity的布局文件中通过<fragment>标签来实现。 <androidx.fragment.app.FragmentContainerView android:id="@+id/fragment_container" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 然后在Activity中添加片段:
代码语言:javascript
复制
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                .replace(R.id.fragment_container, new MyFragment())
                .commit();
        }
    }
}
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CollapsingToolbarLayout使用

所以,CollapsingToolbarLayout 使用一定离不开 AppBarLayout 和 Toolbar,并且作为 AppBarLayout 直接子视图使用。...关于CollapsingToolbarLayout属性在官网上可以查到,这里只介绍案例我们常用几个属性:title标题,布局展开时放大显示在图片底部,布局折叠时缩小显示在Toolbar左侧。...,使顶部视图展开时图片能够延伸到状态栏位置显示,效果图中所示;contentScrim内容遮罩,上下滚动时图片上面显示和隐藏遮罩色,Toolbar位置背景色;通常这样设置:app:contentScrim...,比如上述效果图中图片;pin,固定别针效果,比如上图中Toolbar;layout_collapseParallaxMultiplier不折叠视差系数,配合parallax模式使用,取值有点类似alpha...当设置为1.0,滚动列表时图片不会折叠移动; 代码实现: 关于CoordinatorLayout作为根布局容器如何协调子控件之间交互行为,可以参考上一篇文章,这里介绍一下本例几个新注意点。

2.5K60

在项目中运用Meterial Design实现动画效果

以前在自己公司项目上有用过,最近把这个库 CoordinatorLayout单独拿出来做了个小例子写篇博文,纯粹当成整理复习笔记,下次如果需求再碰到这个,直接用上 。。。...Linux自由及开放源代码操作系统,主要使用于移动设备,智能手机和平板电脑,由Google公司和开放手机联盟领导及开发" app:layout_collapseMode...外层CoordinatorLayout 包裹,因为CoordinatorLayout前面说了,它是继承自五大布局 FrameLayout,所以用法与之类似。...5总结 简单介绍CoordinatorLayout用法,没有深入介绍,大家如果需要深入了解这个控件使用,在这里推荐一篇认为写博客给大家深入学习。...如果你喜欢文章请关注 程序IT圈 ,欢迎大家继续关注本公众号技术博文。如果您觉得这篇文章对你有所帮助的话,不妨点个赞或给个赞赏哈,您支持就是坚持原创动力~~

39530
  • Android开发笔记(一百三十六)可折叠工具栏布局CollapsingToolbarLayout

    这里要明确一点,Toolbar本身页面顶部工具栏,其上没有本页面的其它控件了,如果Toolbar被拉下来了,那Toolbar上面的空白该显示什么?...所以Toolbar上部边缘不可以往下拉,只有下部边缘才能往下拉,这样视觉效果好比Toolbar电影幕布一般缓缓向下展开。...声明工具栏滚动行为标志; 其实真正运行时候,Toolbar高度固定不变,变化高度CollapsingToolbarLayout。...有以下三个取值说明: --pin : 固定模式,当前视图固定不动,不受CollapsingToolbarLayout折叠影响。...--parallax : 视差模式,随着CollapsingToolbarLayout收缩与展开,当前视图也跟着收缩与展开。

    3.2K30

    通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout

    ,它可以控制包含在CollapsingToolbarLayout控件在响应layout_behavior事件时作出相应scrollFlags滚动事件(移除屏幕或固定在屏幕顶端)。...它是设计用于直接AppBarLayout视图。...CollapsingToolbarLayout子View可以设置这两个属性 1、ayout_collapseMode (折叠模式) - 有两个值: pin - 设置为这个模式时,当CollapsingToolbarLayout...在做这里时候遇到一个问题,那就是CollapsingToolbarLayoutTitle问题,一般默认显示,即使你不写,它也有会一个默认值一直显示在那里,等折叠收缩完时候,停留在标题工具栏上...; 支持添加一个或多个自定义控件; 支持Action Menu; Toolbar具体使用方法,在这里就不过多赘述了,学习点太多了,简单介绍完了,给大家推荐两篇参考学习使用文章就行了,写很详细和完整

    2.3K90

    Android view滑动悬浮固定效果实现代码示例

    1.背景 在项目开发过程,有时候会碰到这样需求:在滑动过程,在某时要将子view固定在顶部(常见将界面tab在滑动到顶部时候进行固定)。...之前写过一篇滑动组件悬浮固定在顶部文章,但感觉还是有些复杂,因此就有了这次实现。效果图: ?...<include layout=”@layout/content_scrolling” / —— 引用子view布局其实就是一个ViewPager(需要注意要在布局设置:app:layout_behavior...如果将Toolbar去掉,那么所有的CollapsingToolbarLayoutView都会滑出界面,此时布局就变成了普通布局了(相当于CollapsingToolbarLayout变成了CollapsingLayout...(这样也避免了:在CollapsingToolbarLayout,因为视图折叠覆盖问题,会导致整个ImageView被TabLayout覆盖一部分而显示不完全问题。)

    83310

    CoordinatorLayout使用全解析

    exitUntilCollapsed:当你定义了一个minHeight,此布局将在滚动到达这个最小高度时候折叠。 snap:当一个滚动事件结束,如果视图部分可见,那么它将被滚动到收缩或展开。...例如,如果视图只有底部25%显示,它将折叠。相反,如果底部75%可见,那么它将完全展开。...,它可以控制包含在CollapsingToolbarLayout控件(:ImageView、Toolbar)在响应layout_behavior事件时作出相应scrollFlags滚动事件(移除屏幕或固定在屏幕顶端...Design设计一个控件,目的跟MD其他控件兼容。...在NestedScrollView名字其实就可以看出他作用了,Nested嵌套意思,而ToolBar基本需要嵌套使用

    2K20

    界面无小事(九): 做个好看伸缩头部

    github传送门 前言 之前也是写了RecyclerView内容, 这次再补充伸缩头部实现. 港真, 伸缩头部那种看到第一眼就会爱上视图效果, 好看又简洁....阶段效果图 发现两个问题, 由于背景白色, 标题栏字体颜色要变成黑色, 默认就是黑色, 所以就是删除xml主题设置. 当然, 如果深色背景, 这里就无需动它....Constant Value: 1 (0x00000001) 列个表再看下: 参数 效果 none 视图将正常运行, 没有折叠行为 pin 视图固定到位, 直到它到达CollapsingToolbarLayout...如果在此之前任何兄弟视图没有此标志, 则此值无效. exitUntilCollapsed 退出(滚动屏幕)时, 视图将滚动直到“折叠”. 折叠高度由视图最小高度定义。...喜欢记得点赞, 有意见或者建议评论区见, 暗中关注也是可以哦~ 顺带一提, 腾讯云+社区也将同步文章了, 目前还在审核: 博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https

    97220

    Material Design之CollapsingToolbarLayout 相关属性和方法介绍

    一张没图片和一张有图片,图片太丑别怪我。还是把图换了吧,怕你们打我。 开始无知还以为监听 onTouchListener 根据滑动距离和位置来改变显示效果来实现。...enterAlwaysCollapsed - 当你View已经设置minHeight属性又使用此标志时,你View只能以最小高度进入,只有当滚动视图到达顶部时才扩大到完整高度。...parallax - 设置为这个模式时,在内容滚动时,CollapsingToolbarLayoutView(比如ImageView)也可以同时滚动,实现视差滚动效果,通常和layout_collapseParallaxMultiplier...定义滚动视图是否应该伸展它内容来填补视窗。...) 如果你喜欢博客,请关注

    92130

    Android开发笔记(一百三十五)应用栏布局AppBarLayout

    可是仅仅使用Toolbar的话,还是有些呆板,比如说Toolbar固定占据着页面顶端,既不能跟着主体页面移上去,也不会跟着主体页面拉下来。...,还要通知头部控件(通常是Toolbar),告诉头部控件你要怎么滚,爱咋咋滚,还是满大街滚; 具体到实现上,要在工程做以下修改: 1、添加几个库支持,包括appcompat-v7库(Toolbar...NestedScrollView继承自FrameLayout,其用法与ScrollView相似,都必须且只能带一个直接子视图,都是允许视图上下滚动等等。...3、大家都知道ViewPager左右滚动翻页视图,用户通过手势把页面横向拉动一段距离后松开,系统会判断接下来自动左滚还是自动右滚,总之最后用户看到一个完整页面,而不是拉到一半页面。...scroll标志基础标志,其他标志都要配合该标志使用;因为只有通过scroll声明Toolbar可以滚动,才有后面的各种各样滚动。

    2K40

    细说 AppbarLayout,如何理解可折叠 Toolbar 定制

    现在,尝试用自己理解来解释这个东西,真的自己理解,不代表完全正确,但是觉得这种理解有助于初学者来理解 Content scrim。 我们先来思考一个词语:交互。...AppBarLayout 和 CollapsingToolbarLayout 已经提供给 Toolbar 很炫丽动作效果,但是,如果你认为这还不够,如果你想一种更直接视觉反馈,这种反馈标志 CollapsingToolbarLayout...注意措辞, Content scrim 会遮住 title 下方内容部分。如果一个 CollapsingToolbarLayout 只有 Toolbar 的话,那么它就不起作用。...需要注意,这个属性作用对象是 CollapsingToolbarLayout 子 View 并不是 CollapsingToolbarLayout。 如何理解视差?...Pinned position children 子类位置固定行为 这个很好理解,将 CollapsingToolbarLayout 某个子 View 固定,无论是否存在滚动事件,只要设置 app:

    2.9K30

    详解android特性之CoordinatorLayout用法探析实例

    当我在AS上新建一个module时,系统默认最外层布局不再我们熟悉五大布局一种,而是一个全新布局:CoordinatorLayout。...首先因为我们TooBar需要响应滚动视图,所以需要为其配置一个属性:layout_scrollFlags。...然后呢,我们需要定义一下AppBarLayout与滚动视图(RecyclerView,NestedScrollView等可以支持嵌套滚动控件)supportlibrary包含了一个特殊字符串资源@...flag代表视差模式,即在折叠时候会有视差折叠效果,而“pin”,固定模式,就是在折叠最后固定在最顶端。...CoordinatorLayout工作原理搜索定义了CoordinatorLayout Behavior子view,不管通过在xml中使用app:layout_behavior标签还是通过在代码

    91441

    NestedScrollView 嵌套 ListView 实现滑动折叠效果

    当我们引入RecyclerView时候,恰好压死骆驼最后一根稻草,故不得不采用其他方案来代替RecyclerView 和 CollapsingToolbarLayout实现折叠效果。...android:fitsSystemWindows,经本人代码测试,表示CollapsingToolbarLayout上边界是否扩展到statusbar,这里如果使用透明statusbar,这里更新下应该该布局根布局该属性为...enterAlwaysCollapsed - 当你View已经设置minHeight属性又使用此标志时,你View只能以最小高度进入,只有当滚动视图到达顶部时才扩大到完整高度。...,其他CollapsingToolbarLayout子view做相应改变(视差)或pin(不变)。...题外话3 23.2.0在CoordinatorLayout中使用Toolbar ,toolbar无法与顶部对齐,即顶部存在垂直间距。

    3.4K50

    使用CoordinatorLayout打造各种炫酷效果

    Google IO/15 大会发布,遵循Material 风格,包含在 support Library,结合AppbarLayout, CollapsingToolbarLayout等 可 产生各种炫酷效果...下面我们一起来看一下 TabLayout怎样结合ViewPager直线 导航器效果 代码注释 里面已经解释地很清楚了 ,这里就不解释了 public class ViewPagerSample...Google 帮我们 封装好控件的话,你也可以自己自定义一个控件,你可以参考这一篇博客仿网易新闻顶部导航指示器 ---- 在看例子结合ViewPager视觉特差之前 ,我们需要先了解CollapsingToolbarLayout...简单来说 ,CollapsingToolbarLayout工具栏包装器,它通常作为AppBarLayout孩子。...,CollapsingToolbarLayout一些重要属性已经讲解完毕,下面我们一起来看一下我们怎样结合ViewPager实现视差效果 ---- 结合ViewPager视觉特差 布局代码 <

    4.9K10

    Android开发笔记(一百四十四)高仿支付宝头部伸缩动画

    如果你熟悉AppBarLayout和CollapsingToolbarLayout的话,也许可以很快做出类似以上简单界面,具体地说,就是定义一个CoordinatorLayout嵌套AppBarLayout...这个内容视图可以是RecyclerView,也可以是NestedScrollView; 2、AppBarLayout嵌套CollapsingToolbarLayout,这是为了定义导航栏下面需要展开和收缩部分视图...如果导航栏从收缩状态向下展开,则此时相应做上述渐变动画取反效果,即: 1、导航栏从收缩状态向下展开时,头部各控件要慢慢向背景色过渡,也就是淡入效果;同时展开导航栏下部分布局,并且该布局上各控件渐渐变得清晰...看起来还比较复杂,如果只对某个控件做渐变动画还好,可是导航栏上控件有好几个,而且并不固定常常会增加和修改。倘若要对导航栏上各控件逐一动画过去,不但费力气,而且后期也不好维护。...反过来,也可以一开始给导航栏罩上一层不透明视图,此时导航栏控件看不见,然后随着距离变化,遮罩变得越来越不透明,导航栏也会跟着变得越来越清晰了。

    1.2K10

    【翻译】MotionLayout实现折叠工具栏(Part 1)

    在我们开始之前,有必要在这里澄清一下:在 CoordinatorLayout 中使用 CollapsingToolbarLayout 来实现折叠工具栏没任何问题。...MotionLayout 和安卓上许多其他动画框架一个主要不同点在于:视图动画和属性动画运行时长给定,比如指定动画时长,取消某个动画都是可行,但是不能做到用户控制一个正在进行动画。...在这里特意使用了最基本 View 控件类型,用来说明视图本身并没有产生任何其他行为动作。当然在实际 App 开发过程应该会使用 AppBarLayout 布局配合 Toolbar 控件吧。...如果在设计视图中查看这个布局,我们能看到布局所展示工具栏处于展开状态: ?...我们使用一个标准 ImageView 控件,当其位于 ConstraintSet 下 Constraint 元素时,其主要属性变成可以是 ConstraintLayout.LayoutParams

    1.9K31

    Android如何实现超级棒沉浸式体验

    如果你想要比较容易了解CollapsingToolbarLayout 应用,建议看这位兄台文章,他给也给了一个动画,比较详细介绍了这个应用,例如: 对于里面的用法,这里不作讲解了,但是如果你不了解这个布局应用...(Color.TRANSPARENT); 然而,假设,始终只是一个假设,实际上,这个假设不成立,在尝试时候,发现ToolbarTextView根本就不能使用android:layout_gravity...请注意,AppBarLayout并没有这个属性 android:fitsSystemWindows="true" 如果你加了这个属性,嘿嘿,statusbar虽然空间可以利用,但是有一个你挥之不去颜色覆盖在上面...3、ViewPager推到actionbar下面就不让在推了 这个其实需要你CollapsingToolbarLayout里面有一个子view使用pin模式,那么这个子view谁,显然就是那个toolbar...既然,我们包裹在CoordinatorLayout,那么,显然,最好方式使用layout_behavior了,这里实现了一个BottomBehavior: public class BottomBehavior

    2.9K252

    CoordinatorLayout与滚动处理

    然后,我们需要定义AppBarLayout与滚动视图之间联系。...enterAlwaysCollapsed: 顾名思义,这个flag定义何时进入(已经消失之后何时再次显示)。...记住,要把带有scroll flagview放在前面,这样收回view才能让正常退出,而固定view继续留在顶部。 此时,你应该注意到我们Toolbar能够响应滚动事件了。 ?...---- Creating Collapsing Effects(制造折叠效果) 如果想制造toolbar折叠效果,我们必须把Toolbar放在CollapsingToolbarLayout: .support.design.widget.CollapsingToolbarLayout...CoordinatorLayout工作原理搜索定义了CoordinatorLayout Behavior 子view,不管通过在xml中使用app:layout_behavior标签还是通过在代码

    75720

    Android 单元测试和 UI 测试初步实践

    (基于 MVP 架构开发)补充相应单元测试用例和 UI 测试用例,来初步实践下如何在 Android 平台编写和运行相关测试用例。...这里主要是因为项目中使用了 RxJava2,而 RxJava 需要 Android 环境支持如果直接运行 JUnit 测试用例会报错,所以在此处增加了一个 @ClassRule,具体可参考 https...通常来说,大多数 APP 在设计业务功能过程,会有很多异步任务,例如使用 Rxjava 发起网络请求等,但是 Espresso 并不知道你异步任务什么时候结束,如果单纯使用 Thread.sleep... 几个重要 API: onView():获得视图 view,这里通过 withId() 方法搜索,即根据 id 来获取对应 view check():检验视图 view,可以检查视图文本是否匹配或者视图是否显示等...CollapsingToolbarLayout一个特殊样式 Toolbar,我们要检查其中标题是否与测试数据相匹配,我们可以编写自定义 Matcher: public static Matcher

    2K10

    【Android】5.x炫酷标题栏动画使用理解

    CollapsingToolbarLayout则只是一个对Toolbar进行包装,实现了可以对标题栏进行折叠功能一个基本容器,它是作为AppBarLayout直接子布局来使用。...如何使用 好了,这样一来对于AppBarLayout和CollapsingToolbarLayout就有一个大概理解了,那么下面就看看该怎么用。...使用方法就像上面官网说,可以在xml布局文件中直接在子控件通过设置app:layout_scrollFlags,也可以在java代码通过子控件实例对象调用setScrollFlags(int)来实现...CollapsingToolbarLayout 跟AppBarLayout很像,CollapsingToolbarLayout提供了一个布局参数CollapseMode,一样两种方法,xml布局文件通过...拿上面的例子说,CollapsingToolbarLayoutAppBarLayout子控件,ImageView、ToolbarAppBarLayout孙子控件,如果你在ImageView、Toolbar

    1.1K60

    Android--AppBarLayout、CollapsingToolbarLayout组合使用

    通常AppBarLayout和CollapsingToolbarLayout一起使用,也就是CoordinatorLayout、AppBarLayout、CollapsingToolbarLayout...CollapsingToolbarLayout使用方法也比较固定,AppBarLayout包裹CollapsingToolbarLayout,由于需要伸缩Toolbar,所以它使用app:layout_scrollFlags...为scroll|exitUntilCollapsed,还可以使用app:contentScrim来设定缩小到最小高度后颜色(会有一个渐变效果) 被CollapsingToolbarLayout包裹控件...,所以它app:layout_collapseMode为parallax,app:layout_collapseParallaxMultiplier为缩放中间轴,默认0.5就是该控件高度一半...,否则没有效果 另外需要注意,Toolbartitle属性并不会起作用,我们需要在代码调用CollapsingToolbarLayoutsetTitle方法才能设置标题 private CollapsingToolbarLayout

    3.4K30
    领券