2014-02-20 63 views
10

即使长度在10-15个字符以内,我的android应用程序中的操作栏的标题中也有一个省略号。我正在使用导航抽屉,它工作正常,但几个开关后,它将省略号添加到标题。Android操作栏标题省略号

我没有使用任何自定义xml格式化我的操作栏。我如何删除省略号?我应该使用什么风格/选项来确保它永远不会删除标题?

回答

8

我有这个相同的问题。有足够的空间,但包含标题文本的TextView不会更改大小以适应其新的文本内容。这解决了我的问题:

protected Handler mUiHandler = new Handler(Looper.getMainLooper()); 

protected void setActionBarTitle(final CharSequence title, final boolean showHomeAsUp) 
{ 
    mUiHandler.post(new Runnable() 
    { 
     @Override 
     public void run() 
     { 
      Activity activity = getActivity(); 
      if(activity != null){ 
       ActionBar ab = activity.getActionBar(); 
       ab.setDisplayHomeAsUpEnabled(showHomeAsUp); 
       ab.setDisplayShowTitleEnabled(false); 
       activity.setTitle(title); 
       ab.setDisplayShowTitleEnabled(true); 
      } 
     } 
    }); 
} 
+0

谢谢,它的工作 –

6

简化西蒙的回答,您可以直接重写你的活动setTitle方法与此:

@Override 
public void setTitle(final CharSequence title) { 
    new Handler(Looper.getMainLooper()).post(new Runnable() { 
     @Override 
     public void run() { 
      MyActivity.super.setTitle(title); 
     } 
    }); 
} 

我这样做是由所有的活动延长一个ParentActivity我的应用程序。

1

稍有不同的/简单,但以下为我工作了同样的想法:

... 
    getActivity().runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      getActivity().setTitle(title); 
     } 
    }); 
    ...