启用操作栏图标而不启用标题

Rav*_*avi 8 android android-actionbar

如何在actionbarsherlock中启用应用程序图标(不是仅标题图标),就像在什么应用程序中一样.

Mat*_*ers 18

从Android 4.2.2开始,标题可以与图标一起点击.WhatsApp使用自定义视图来显示两行标题.这会禁用标题点击.你可以这样做:

ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(R.layout.ab_title);

TextView title = (TextView) findViewById(android.R.id.text1);
title.setText("Title");
Run Code Online (Sandbox Code Playgroud)

/res/layout/ab_title.xml:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    style="@style/TextAppearance.Sherlock.Widget.ActionBar.Title"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:ellipsize="end"
    android:gravity="center_vertical" />
Run Code Online (Sandbox Code Playgroud)


waq*_*lam 7

将以下内容添加到您的onCreate方法:

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)

并在您的活动中定义以下覆盖方法:

@Override
public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
        onBackPressed();
        break;
    default:
        return super.onOptionsItemSelected(item);
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

  • 但它也使活动标题可点击. (4认同)
  • `onBackPressed()`错了!主页按钮和后退按钮不一样.请改用"NavUtils.navigateUpFromSameTask(this)". (2认同)