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

时间:2013-04-25 08:31:27

标签: android android-actionbar

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

4 个答案:

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

/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" />

答案 1 :(得分:7)

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

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

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

@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;
}

答案 2 :(得分:0)

我的朋友,我认为这是Android版/构建“功能”,因为我有两个设备,(Nexus S和Nexus 7)(Android 4.1.2和Android 4.2.2)我正在部署我的应用程序在两台设备上进行开发,相同的代码,在Nexus S上图标是“向上”,在Nexus 7上,图标和标题都是“向上”。

答案 3 :(得分:0)

确保你的android:minSdkVersion =&#34; 11&#34;可以在清单文件中看到,Up图标已包含在APK 11中。将以下内容添加到您的onCreate方法中对于主页放置getActionBar()。setDisplayHomeAsUpEnabled(false);确保它是假的,并且在其他活动中你保持启用我,e&#34; true&#34;。我已经制作了一个小样本,请尝试以下链接,这可能会帮助您将其导入您的工作空间

http://www.mediafire.com/?hktdvts7yyduwv1