Roc*_*ell 7 java android android-toolbar
当我更改折叠的collapsingToolbar的标题时,标题不会更改.
我已经尝试过getSupportActionBar.setTitle和collapseToolbar.setTitle,但它没有帮助.告诉我,问题是什么?
dou*_*leA 15
我相信这个问题描述了您正在经历的事情.我也有这个问题,今天就解决了.本质上,处理折叠文本的代码仅在当前文本为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);
}
Run Code Online (Sandbox Code Playgroud)
在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>
Run Code Online (Sandbox Code Playgroud)
快乐的编码.
编辑:下面的代码来自折叠工具栏布局中使用的collapsingtext帮助器来控制该视图的文本.
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());
}
Run Code Online (Sandbox Code Playgroud)
违规行updateDrawText = this.mCurrentTextSize != newTextSize;设置布尔值以确定我们是否更改此行中的文本if(this.mTextToDraw == null || updateDrawText) { 因此,当折叠工具栏布局重新计算其视图时,设置文本的决定因素是文本大小.如果您没有更改文本大小,那么折叠工具栏布局标题将不会更改,直到它从折叠位置折叠或展开
| 归档时间: |
|
| 查看次数: |
12766 次 |
| 最近记录: |