Android操作栏标题省略号

时间:2014-02-20 14:41:49

标签: android android-actionbar

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

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

3 个答案:

答案 0 :(得分: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);
            }
        }
    });
}

答案 1 :(得分:7)

简化Simon的回答,您可以使用以下方法覆盖活动的setTitle方法:

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

我在ParentActivity中执行此操作,该活动由我的应用程序的所有活动扩展。

答案 2 :(得分:1)

略有不同/更简单,但遵循同样适用于我的想法:

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