将作业标题省略号设置为中间



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

你可以这样做:

    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);
    }
    ((TextView) ((FrameLayout) ((LinearLayout) ((ViewGroup) getWindow()
            .getDecorView()).getChildAt(0)).getChildAt(0)).getChildAt(0))
            .setEllipsize(TextUtils.TruncateAt.MIDDLE);

从安卓得到它:在中间设置标题栏

如果您使用工具栏,则可以在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) {
    }
}

尝试使用 android:ellipsize

请参阅 Android 开发者页面中的 android:ellipsize。

最新更新