我的Android应用程序的操作栏标题中有省略号,即使长度在10-15个字符之内。我正在使用导航抽屉,它工作正常,但在几个开关后,它添加省略号的标题。
我没有使用任何自定义xml来格式化我的操作栏。如何删除省略号?我应该使用什么样式/选项来确保它永远不会标题化?
答案 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);
}
});
...