栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

更改可折叠工具栏标题的正确方法

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

更改可折叠工具栏标题的正确方法

我相信这个问题描述了您所遇到的问题。我也遇到了这个问题,并且今天已经解决了。本质上,处理折叠文本的代码仅在当前文本为null或文本大小更改时更新文本。当前,这是一个已关闭的错误,并且计划在将来的设计库版本中发布该补丁。现在,使用我的解决方法,即仅更改文本大小,然后再将其更改回。

这就是我所拥有的

private void setCollapsingToolbarLayoutTitle(String title) {    mCollapsingToolbarLayout.setTitle(title);    mCollapsingToolbarLayout.setExpandedTitleTextAppearance(R.style.ExpandedAppBar);    mCollapsingToolbarLayout.setCollapsedTitleTextAppearance(R.style.CollapsedAppBar);    mCollapsingToolbarLayout.setExpandedTitleTextAppearance(R.style.ExpandedAppBarPlus1);    mCollapsingToolbarLayout.setCollapsedTitleTextAppearance(R.style.CollapsedAppBarPlus1);}

在styles.xml中

<style name="ExpandedAppBar" parent="@android:style/TextAppearance.Medium">    <item name="android:textSize">28sp</item>    <item name="android:textColor">#000</item>    <item name="android:textStyle">bold</item></style><style name="CollapsedAppBar" parent="@android:style/TextAppearance.Medium">    <item name="android:textSize">24sp</item>    <item name="android:textColor">@color/white</item>    <item name="android:textStyle">normal</item></style><style name="ExpandedAppBarPlus1" parent="@android:style/TextAppearance.Medium">    <item name="android:textSize">28.5sp</item>    <item name="android:textColor">#000</item>    <item name="android:textStyle">bold</item></style><style name="CollapsedAppBarPlus1" parent="@android:style/TextAppearance.Medium">    <item name="android:textSize">24.5sp</item>    <item name="android:textColor">@color/white</item>    <item name="android:textStyle">normal</item></style>

编码愉快。

编辑:以下代码来自可折叠工具栏布局内使用的可折叠文本帮助器,用于控制该视图的文本。

        if(availableWidth > 0.0F) { updateDrawText = this.mCurrentTextSize != newTextSize; this.mCurrentTextSize = newTextSize;        }        if(this.mTextToDraw == null || updateDrawText) { this.mTextPaint.setTextSize(this.mCurrentTextSize); CharSequence title = TextUtils.ellipsize(this.mText, this.mTextPaint, availableWidth, TruncateAt.END); if(this.mTextToDraw == null || !this.mTextToDraw.equals(title)) {     this.mTextToDraw = title; } this.mTextWidth = this.mTextPaint.measureText(this.mTextToDraw, 0, this.mTextToDraw.length());        }

令人讨厌的行是

updateDrawText = this.mCurrentTextSize !=newTextSize;
设置布尔值的布尔值,以确定是否更改此行中的文本。
if(this.mTextToDraw == null ||updateDrawText) {

因此,当折叠的工具栏布局重新计算其视图时,确定文本大小的决定因素是textsize。如果您没有更改文字大小,那么折叠的工具栏布局标题将不会发生变化,除非它被折叠或从折叠位置展开



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/451613.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号