将活动标题椭圆设置为中间?

时间:2012-05-28 03:29:42

标签: java android

我有一个活动,其标题保持不变,但有时它的长度和结尾的省略号。我可以将椭圆设置为中间吗?

4 个答案:

答案 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);

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