首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >工具栏的重力(或定位)在CollapsingToolbarLayout中不能正常工作

工具栏的重力(或定位)在CollapsingToolbarLayout中不能正常工作
EN

Stack Overflow用户
提问于 2016-09-04 10:16:02
回答 2查看 990关注 0票数 2

我有一个带有工具栏TablLayout的布局,在下面的帮助下可以看到一些不错的折叠效果。

第一张照片没问题。这就是我想要的行为。

但是,折叠状态将工具栏放置在错误的位置:

如您所见,工具栏低于其默认位置,不管我将它的重力设置在顶部。

以下是完整的布局:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fitsSystemWindows="true"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="215dp"
        app:expandedTitleMarginBottom="56dp"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/big_header"
            android:fitsSystemWindows="true"
            android:scaleType="centerInside"
            app:layout_collapseMode="parallax" />


        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="104dp"
            android:gravity="top"
            android:minHeight="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
            app:titleMarginTop="13dp"
            />


        <android.support.design.widget.TabLayout
            android:id="@+id/sliding_tabs"
            android:layout_width="match_parent"
            style="@style/CustomTabLayout"
            android:layout_height="?attr/actionBarSize"
            android:layout_gravity="bottom" />


    </android.support.design.widget.CollapsingToolbarLayout>

</android.support.design.widget.AppBarLayout>


<android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</android.support.v4.widget.NestedScrollView>

我想把工具栏放在它的位置,旁边的“后退”按钮在非折叠状态。如果可以的话请帮忙。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-04 10:50:08

这是一个众所周知的问题,我也面临过这个问题。你需要“黑”一点。

如果你不需要你的标题从大到小动画,只需放置collapsingToolbar.titleEnabled = false,并使用您的工具栏标题代替。

如果您希望在折叠工具栏中将标题从大到小动画化,您可以这样对其进行黑客攻击:

添加一个appBarLayout OffsetChanged侦听器,并将以下代码放入其中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (Math.Abs(e.verticalOffset) >= appBarLayout.totalScrollRange - 35) //Play with the number, and you should probably use dp instead of a hardcoded pixel number.
{
    collapsingToolbar.titleEnabled = false;
    SupportActionBar.title = "YourTitle";
}
else
{
    collapsingToolbar.titleEnabled = true;
    SupportActionBar.title = "";
}

它在两个标题之间切换..。

票数 2
EN

Stack Overflow用户

发布于 2016-10-01 06:06:50

我找到了一个更简单的解决方案,没有任何黑客入侵,而且使用的是纯xml:

  • expandedTitleMarginBottom中使用CollapsingToolbarLayout避免扩展标题重叠TabLayout
  • layout_height设置为TabLayout为常量值
  • layout_marginBottom添加到与TabLayout layout_height值相同的Toolbar
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <android.support.design.widget.CollapsingToolbarLayout
        android:layout_width="match_parent"
        android:layout_height="215dp"
        app:expandedTitleMarginBottom="78dp"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/big_header"
            app:layout_collapseMode="parallax" />

        <android.support.v7.widget.Toolbar
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="?attr/actionBarSize"
            app:layout_collapseMode="pin" />

        <android.support.design.widget.TabLayout
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:layout_gravity="bottom" />

    </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39320060

复制
相关文章
Android开发笔记(一百三十六)可折叠工具栏布局CollapsingToolbarLayout
上一篇博文《Android开发笔记(一百三十五)应用栏布局AppBarLayout》阐述了如何把Toolbar往上滚动,那反过来,能不能把Toolbar往下拉动呢?这里要明确一点,Toolbar本身是页面顶部的工具栏,其上没有本页面的其它控件了,如果Toolbar被拉下来了,那Toolbar上面的空白该显示什么?所以Toolbar的上部边缘是不可以往下拉的,只有下部边缘才能往下拉,这样的视觉效果好比Toolbar如电影幕布一般缓缓向下展开。 不过,Android在实现展开效果的时候,并非直接让Toolbar展开或收缩,而是另外提供了CollapsingToolbarLayout,通过该布局包裹Toolbar,从而控制标题栏的展开和收缩行为。下面是CollapsingToolbarLayout的属性说明: app:contentScrim : 指定布局内部未展开时的背景颜色。 app:collapsedTitleTextAppearance : 指定未展开时的标题文字字体。 app:collapsedTitleTextColor : 指定未展开时的标题文字颜色。 app:collapsedTitleGravity : 指定未展开时的标题文字对齐方式。 app:expandedTitleTextAppearance : 指定展开后的标题文字字体。 app:expandedTitleTextColor : 指定展开后的标题文字颜色。 app:expandedTitleGravity : 指定展开后的标题文字对齐方式。 app:expandedTitleMargin : 指定展开后的标题四周间距。 app:expandedTitleMarginStart/app:expandedTitleMarginTop/app:expandedTitleMarginEnd/app:expandedTitleMarginBottom : 指定展开后的标题具体方向的间距。 上述属性在代码中的设置方法如下所示: setContentScrim/setContentScrimColor/setContentScrimResource : 设置布局内部未展开时的背景颜色。 setCollapsedTitleTextAppearance : 设置未展开时的标题文字字体。 setCollapsedTitleTextColor : 设置未展开时的标题文字颜色。 setCollapsedTitleGravity : 设置未展开时的标题文字对齐方式。 setExpandedTitleTextAppearance : 设置展开后的标题文字字体。 setExpandedTitleColor : 设置展开后的标题文字颜色。 setExpandedTitleGravity : 设置展开后的标题文字对齐方式。 setExpandedTitleMargin : 设置展开后的标题四周间距。 setExpandedTitleMarginStart/setExpandedTitleMarginTop/setExpandedTitleMarginEnd/setExpandedTitleMarginBottom : 设置展开后的标题具体方向的间距。 在工程中使用CollapsingToolbarLayout,则需注意以下几点: 1、添加几个库的支持,包括appcompat-v7库(Toolbar需要)、design库(CollapsingToolbarLayout需要)、recyclerview库(主页面的RecyclerView需要); 2、布局文件的根布局采用android.support.design.widget.CoordinatorLayout,因为design库的动态效果都依赖于该控件; 3、CoordinatorLayout节点要添加命名空间声明xmlns:app="http://schemas.android.com/apk/res-auto"; 4、使用android.support.design.widget.AppBarLayout节点包裹android.support.design.widget.CollapsingToolbarLayout节点,再在CollapsingToolbarLayout节点下添加Toobar; 5、Toobar节点添加滚动属性app:layout_scrollFlags="scroll|enterAlways",声明工具栏的滚动行为标志; 其实真正运行的时候,Toolbar的高度是固定不变的,变化高度的是CollapsingToolbarLayout。只是许多App把这两者的背景设为一样的,所以看起来像是统一的标题栏在收缩和展开。既然二者原本不是一家,那么就得有新的属性用于区分它们内部的行为,新属性在Collaps
aqi00
2019/01/18
3.3K0
vmware workstation 克隆后网卡eth0不能正常工作
解决方法如下 修改/etc/udev/rules.d/70-persistent-net.rules 将eth0这行注释掉或者删除, 这里记载的还是克隆系统时的MAC地址,但是新启动的系统MAC已经更改, 将NAME="eth1" 改为 “eth0”,ATTR 标记的MAC地址,这个是虚拟机为这个虚拟网卡分配的MAC,用上面的MAC替换掉 /etc/sysconfig/network-scripts /ifcfg-eth0中的MAC 然后重启即可 还有一个办法,不用eth0,直接用eth1等,把/etc/sysconfig/network-scripts/ifcfg-eth0复制成/etc/sysconfig/network-scripts/ifcfg-eth1
三杯水Plus
2018/11/14
2.4K0
配置SSL证书后,Nginx的HTTPS 不能正常工作的原因有哪些
申请ssl证书,配置nginx支持https与证书,可是访问https的nginx总是出现错误,也导致小程序发https请求失败,这是什么原因呢?
网盾JoySSL小张
2023/08/31
4.9K0
正常的工作流程
修改文件,将它们更新的内容添加到索引中。 $ git add file1 file2 file3 你现在为commit做好了准备,你可以使用git diff命令再加上–cached参数,看看哪些文件将被提交(commit)。 (如果没有–cached参数,git diff会显示当前你所有已做的但没有加入到索引里的修改。)你也可以使用git status命令来获得当前项目的一个状况。
用户3004328
2018/09/06
7530
图片路径中含有中文在jsp下不能正常显示
如:<img src="/pic/lupload/img工行上传.jpg" />,图片路径正确,放到一个单独的html页面中也能正常打开,在jsp中就是不显示图片
西门呀在吹雪
2020/11/09
1.3K0
在Python游戏中模拟重力
我们的现实生活中充满了运动和生命。物理让我们的世界变得如此繁忙和生动。 同时我们要知道,物理阐释了物质在空间中移动的方式。 不过呢,因为我们的游戏世界本不存在物理,所以作为游戏程序员,我们必须在游戏中模拟物理。
五月Rambo
2019/12/09
2.1K0
在Python游戏中模拟重力
记录一下fail2ban不能正常工作的问题 & 闲扯安全
在加载配置这个事情上,许多linux应用程序只需要发一个信号,应用自己就完成配置重载,无需重启中断服务,但是依然有很多程序并不支持。
horsley
2022/08/16
3.6K0
关于opencv图片颜色不能正常在matplotlib中显示的问题
opencv默认的彩色图片的加载方式是按照BGR加载的,直接用opencv的函数展示是没有问题的,但是有时候我们想把多张图片放在一起展示,这时候用matplotlib就比较方便,但是matplotlib的图片展示是按照RGB展示的,如果中间不处理一下,直接展示opencv加载的图片,你会发现图片的颜色会出现问题,如何解决?
我是攻城师
2018/07/23
1.5K0
关于opencv图片颜色不能正常在matplotlib中显示的问题
Linux下shell不能正常执行
看上面信息【with CRLF line terminators】,大概能定位到问题
小码匠
2022/06/16
4.3K0
错题本:ConstraintLayout 不能正常显示
这个属性是 app:layout_constraintLeft_toLeftOf="@id/oa_setting_group_tv_add" 写成了自己在自己左边了。
佛系编码
2019/12/11
1.9K0
错题本:ConstraintLayout 不能正常显示
CollapsingToolbarLayout使用
我们来看一下CollapsingToolbarLayout的使用场景。 CollapsingToolbarLayout 可以看到,Toolbar的标题放大并在下方显示,当我们向上滑动列表时,顶部He
xiangzhihong
2018/02/05
2.5K0
CollapsingToolbarLayout使用
uploadifive参数fileType不能正常解析
鉴于html5已经是主流,flash终究是快湮灭了。所以现在上传也从uploadify更换成了uploadifive了,价值5美刀。在上传的过程中经常需要限制上传文件的类型,就需要用到参数fileType,于是就看下了官方手册上的介绍,文档上的对fileType参数定义的类型是string,且不是必须参数。经过拷贝demo的代码,发现根本无效,任何文件类型还是能够被上传。结果耗时3小时15分钟,翻遍国内外技术网站,最终确认uploadifive的fileType参数是个BUG,官方文档也标错了。经过反复测试,要想实现文件格式限制效果,需要使用json类型数据进行配置,才能实现参数正常解析。
世纪访客
2018/08/02
1K0
uploadifive参数fileType不能正常解析
$(document).click() 在苹果手机上不能正常运行解决方案
本来是如下一段跳转代码,发现在安卓和微信开发者工具上都能正常运行,但是苹果手机就不行了。
全栈程序员站长
2022/07/08
3370
关于GPU VNC不能正常使用的说明
https://cloud.tencent.com/document/product/560/36207
Windows技术交流
2022/09/07
3.8K0
CollapsingToolbarLayout中Toolbar不跟随ListView扩展
要想Toolbar跟随Listview的滑动扩展或者是收缩这中联动效果,需要在ListView中配置如下属性: android:nestedScrollingEnabled=”true”
夏洛克的猫
2018/10/18
7730
vue在IE下无法正常工作,Promise未定义?
用vue写了一个日历组件,在Firefox、Edge、Chrome以及360等浏览器极速模式中运行一切正常,如图:
Yiiven
2022/12/15
4.2K0
vue在IE下无法正常工作,Promise未定义?
Ueditor后端配置项没有正常加载,上传插件不能正常使用!的解决过程。
如图:单图上传为灰色,多图上传提示 后端配置项没有正常加载,上传插件不能正常使用!
德顺
2019/11/13
17.6K0
Ueditor后端配置项没有正常加载,上传插件不能正常使用!的解决过程。
在Python游戏中模拟重力【Programming(Python)】
现实世界充满了运动和生活。 使现实世界变得如此繁忙和动态的是物理。 物理是物质在太空中移动的方式。因为电子游戏世界没有物理,它也没有物理,所以游戏程序员必须模拟物理。
Potato
2019/12/01
2.3K0
在Python游戏中模拟重力【Programming(Python)】
点击加载更多

相似问题

如何在CollapsingToolbarLayout中设置工具栏的重力?

122

重力模拟不能正常工作

11

Textview重力在android中不能正常工作

63

工具栏不能正常工作

10

CollapsingToolbarLayout标题不能放入工具栏

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文