CollapsingToolbarLayout中title属性在全屏模式下被遮挡

2024-03-28 03:38

本文主要是介绍CollapsingToolbarLayout中title属性在全屏模式下被遮挡,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

起因:

使用AppBarLayout的折叠效果加title置顶效果

问题1:

信心满满使用CollapsingToolbarLayout中的title属性想要显示完整的字符串就应该让toolbar不占满宽度,因为这个title中的字符串会显示在toolbar中剩余的空间内

问题2:

CollapsingToolbarLayout中的title显示的位置和字体大小不是我想要的,幸好这个我们可以设置,不麻烦,先看看属性:

expandedTitleTextAppearance:展开时显示的title字体样式
expandedTitleMarginStart:展开时距离左边距,默认有边距
expandedTitleMargin...:包括End,Top,Bottom,同上
collapsedTitleTextAppearance:折叠时title就到toolbar中了,使用这个属性设置字体的样式

样式示例:

<style name="AppBarTextStyle17sp"><item name="android:textSize">17sp</item><item name="android:textColor">#333333</item>
</style>

感觉没什么问题了,运行之后发现,toolbar和状态栏重叠了,而我手机有刘海,这还能忍?下一步

自以为是的在代码中给toolbar设置了marginTop,神奇的发现title不往toolbar去了,而是往下!!!

最终还是找到了解决的办法,代码如下

ViewGroup.LayoutParams layoutParams = mToolbar.getLayoutParams();
layoutParams.height = layoutParams.height + ScreenCalcUtil.getStatusHeight(mContext);
mToolbar.setLayoutParams(layoutParams);
mToolbar.setPadding(0, ScreenCalcUtil.getStatusHeight(mContext), 0, 0);

先改变toolbar的高度,高度等于本身高度加状态栏高度

然后设置paddingTop,高度等于状态栏高度

遇到问题记录一下

这篇关于CollapsingToolbarLayout中title属性在全屏模式下被遮挡的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/854336

相关文章

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

浅析CSS 中z - index属性的作用及在什么情况下会失效

《浅析CSS中z-index属性的作用及在什么情况下会失效》z-index属性用于控制元素的堆叠顺序,值越大,元素越显示在上层,它需要元素具有定位属性(如relative、absolute、fi... 目录1. z-index 属性的作用2. z-index 失效的情况2.1 元素没有定位属性2.2 元素处

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

HTML5 data-*自定义数据属性的示例代码

《HTML5data-*自定义数据属性的示例代码》HTML5的自定义数据属性(data-*)提供了一种标准化的方法在HTML元素上存储额外信息,可以通过JavaScript访问、修改和在CSS中使用... 目录引言基本概念使用自定义数据属性1. 在 html 中定义2. 通过 JavaScript 访问3.

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效

解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题

《解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题》在Spring开发中,@Autowired注解常用于实现依赖注入,它可以应用于类的属性、构造器或setter方法上,然... 目录1. 为什么 @Autowired 在属性上被警告?1.1 隐式依赖注入1.2 IDE 的警告:

HTML5中下拉框<select>标签的属性和样式详解

《HTML5中下拉框<select>标签的属性和样式详解》在HTML5中,下拉框(select标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中选择值的方式,本文将深入探讨select标签的... 在html5中,下拉框(<select>标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程

《在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程》本文介绍了在Java中使用ModelMapper库简化Shapefile属性转JavaBean的过程,对比... 目录前言一、原始的处理办法1、使用Set方法来转换2、使用构造方法转换二、基于ModelMapper