【发布时间】:2015-10-09 11:28:42
【问题描述】:
我有以下设置:
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:subtitleTextAppearance="@style/TitleTextStyle"
app:theme="@style/ActionBarStyle.Light"/>
和
<style name="TitleTextStyle">
<item name="android:maxLines">2</item>
<item name="android:textAllCaps">false</item>
</style>
和
getSupportActionBar().setSubtitle( targetString );
应用了@textAllCaps,但忽略了@maxLines(我也尝试了`@minLines)。
如何在字幕中启用多行文字?
TIA
更新:
我将代码添加到onStart:
@Override
public void onStart() {
super.onStart();
try{
Field field = Toolbar.class.getDeclaredField( "mSubtitleTextView" );
field.setAccessible( true );
subtitleTextView = (TextView)field.get( toolbar );
subtitleTextView.setSingleLine( false );
subtitleTextView.setMaxLines( 2 );
subtitleTextView.setEllipsize( TruncateAt.END );
}catch( Exception e ) {
Logg.e( this, "", e );
}
}
现在的问题是,应用了 ellipsize 值,但 setMaxLines() 调用被忽略...
UPD2:
setSingleLine( false ) 成功了。
【问题讨论】:
标签: android android-actionbar android-appcompat multiline subtitle