创建自定义布局时丢失ActionBar标题

时间:2014-06-01 18:36:00

标签: android android-layout android-actionbar actionbarsherlock

我试图制作一个具有以下内容的ActionBar:

  • 主页按钮启用标题(左侧)
  • TextView(居中)
  • 溢出菜单项(右侧)

我关注this answer几乎完全相同的问题。不同之处在于我想展示一个标题。我尝试了actionBar.setTitle("Title"),但它被LinearLayout切断了并且不可见。

如何使用上述元素在ActionBar的中心创建自定义视图?

是否可以不覆盖整个ActionBar?

修改

我在这里设置了ActionBar:

final ActionBar actionBar = getSupportActionBar();
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setTitle("Title");
actionBar.setCustomView(R.layout.some_layout);

以下是some_layout.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:gravity="center"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Some Text" />

</LinearLayout>

这是我从中得到的ActionBar(我将LinearLayout背景设置为绿色,文本颜色设置为白色):

action bar

这是我想要获得的(没有绿色背景):

enter image description here

1 个答案:

答案 0 :(得分:0)

试试这个:

        ActionBar ab = getSupportActionBar();
    ab.setCustomView(R.layout.registration_actionbar);
    ab.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM
            | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE);