用文本替换ActionBar图标

时间:2013-11-03 22:46:19

标签: android android-actionbar

我希望能够在操作栏中使用文本而不是常规图标。内置的“联系人”应用程序中的下图显示了所需内容。

setIcon()没有任何选项可以将String作为参数,所以我不知道该怎么做。

2 个答案:

答案 0 :(得分:2)

actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setTitle("Asdfasdfasdf");
actionBar.setDisplayUseLogoEnabled(false);

答案 1 :(得分:1)

private void setupActionBar(Activity activity)
{
    View v = activity.getLayoutInflater().inflate(R.layout.action_bar_layout, null);
    assert v != null;
    Button actionBarMenu = (Button) v.findViewById(R.id.actionBarMenu);
    actionBarMenu.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
        }
    });

    setHasOptionsMenu(true);

    ActionBar actionBar = activity.getActionBar();

    assert actionBar != null;

    actionBar.setDisplayUseLogoEnabled(false);
    actionBar.setDisplayShowHomeEnabled(false);
    actionBar.setDisplayHomeAsUpEnabled(false);
    actionBar.setDisplayShowTitleEnabled(false);

    actionBar.setCustomView(v);
    actionBar.setDisplayShowCustomEnabled(true);
}

和action_bar_layout.xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
    >

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="menu"
        android:id="@+id/actionBarMenu"
        android:textColor="#f5c046"
        android:textSize="16sp"
        android:textStyle="bold"
        android:layout_centerVertical="true"
        android:layout_marginLeft="5dp"
        android:background="@android:color/transparent"/>

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/app_name"
        android:id="@+id/actionBarTitle"
        android:textColor="@android:color/white"
        android:textSize="20sp"
        android:textStyle="bold"
        android:layout_centerVertical="true"
        android:layout_marginLeft="125dp"/>
</RelativeLayout>