7

我有一个活动,其标题不断变化,但有时它很长并且最后会出现省略号。我可以将椭圆设置为中间吗?

4

4 回答 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);

android:set title bar in 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 回答