我有一个活动,其标题不断变化,但有时它很长并且最后会出现省略号。我可以将椭圆设置为中间吗?
问问题
4520 次
4 回答
20
你可以这样做:
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);
}
于 2012-05-28T05:46:27.580 回答
1
((TextView) ((FrameLayout) ((LinearLayout) ((ViewGroup) getWindow()
.getDecorView()).getChildAt(0)).getChildAt(0)).getChildAt(0))
.setEllipsize(TextUtils.TruncateAt.MIDDLE);
于 2012-05-28T06:10:51.160 回答
0
如果您使用工具栏,您可以在 settitle 之前添加此功能
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) {
}
}
于 2016-05-18T02:58:17.183 回答
-3
尝试使用android:ellipsize
请参阅Android 开发者页面中的android:ellipsize。
于 2012-05-28T05:36:10.600 回答