8

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

4

4 回答 4

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" />
于 2013-04-25T14:07:37.257 回答
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;
}
于 2013-04-25T08:36:08.570 回答
0

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

于 2013-04-25T09:04:48.050 回答
0

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

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

于 2013-10-21T10:04:09.870 回答