我有一个活动,其标题保持不变,但有时它的长度和结尾的省略号。我可以将椭圆设置为中间吗?
答案 0 :(得分:21)
你可以这样做:
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);
}
答案 1 :(得分:1)
((TextView) ((FrameLayout) ((LinearLayout) ((ViewGroup) getWindow()
.getDecorView()).getChildAt(0)).getChildAt(0)).getChildAt(0))
.setEllipsize(TextUtils.TruncateAt.MIDDLE);
获得
答案 2 :(得分: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) {
}
}
答案 3 :(得分:-3)
尝试使用android:ellipsize
请参阅Android开发者页面中的android:ellipsize 。