Java 将活动标题椭圆设置为中间?
我有一项活动,它的标题不断变化,但有时很长,最后会出现省略号。我可以将椭圆设置为中间吗?尝试使用Java 将活动标题椭圆设置为中间?,java,android,Java,Android,我有一项活动,它的标题不断变化,但有时很长,最后会出现省略号。我可以将椭圆设置为中间吗?尝试使用android:ellipsize 请参阅Android开发者页面。您可以执行以下操作: final int actionBarTitle = Resources.getSystem().getIdentifier("action_bar_title", "id", "android"); final TextView title = (TextView)getWindow().fin
android:ellipsize
请参阅Android开发者页面。您可以执行以下操作:
final int actionBarTitle = Resources.getSystem().getIdentifier("action_bar_title", "id", "android");
final TextView title = (TextView)getWindow().findViewById(actionBarTitle);
if ( title != null ) {
title.setEllipsize(TextUtils.TruncateAt.MIDDLE);
}
从获得该功能如果您使用工具栏,则可以在设置标题之前添加此功能
private void setToolbarTextEllipsizeInMiddle(Toolbar toolbar){
try {
toolbar.setTitle("'");
for (int i = 0; i < toolbar.getChildCount(); i++) {
View view = toolbar.getChildAt(i);
if (view instanceof TextView) {
TextView tv = (TextView) view;
tv.setEllipsize(TextUtils.TruncateAt.MIDDLE);
}
}//end for i
toolbar.setTitle("");
} catch (Exception e) {
}
}
private void setToolbarTextEllipsizeInMiddle(工具栏工具栏){
试一试{
工具栏.setTitle(“”);
对于(int i=0;i
您不能将其用于活动标题,对吗?我看不到您问题中的1.6。它应该是相同的,但不同的id,尝试使用HierarchyViewer来查找它。这也是一种攻击。它可能会破裂。至少要检查null和catch异常。@xmenW.K.“android.R.id.title”在非actionbar版本中。这是一种黑客行为。它可能会崩溃。我同意,它确实会在3.0+上崩溃,但在较旧的版本中也会崩溃:)
private void setToolbarTextEllipsizeInMiddle(Toolbar toolbar){
try {
toolbar.setTitle("'");
for (int i = 0; i < toolbar.getChildCount(); i++) {
View view = toolbar.getChildAt(i);
if (view instanceof TextView) {
TextView tv = (TextView) view;
tv.setEllipsize(TextUtils.TruncateAt.MIDDLE);
}
}//end for i
toolbar.setTitle("");
} catch (Exception e) {
}
}