从android中的操作栏中删除左箭头?

时间:2013-05-27 10:51:04

标签: android android-actionbar

我想从操作栏中删除左箭头,只需要图标和标题。

我的代码:

getSupportActionBar().setIcon(R.drawable.logo);
getSupportActionBar().setDisplayShowTitleEnabled(true);
getSupportActionBar().setTitle(R.string.dashboardtitle);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);

但这并没有删除左箭头。任何帮助!!

5 个答案:

答案 0 :(得分:24)

根据规范android specification: 要启用向上导航图标(显示图标旁边的“向上”指示符),请在ActionBar上调用setDisplayHomeAsUpEnabled( true ):

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);
    ActionBar actionBar = getActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);
    ...
}

所以你应该设置 actionBar.setDisplayHomeAsUpEnabled(false);

<强>更新 我用ActionBar sherlock测试下一个代码,它的工作原理。没有后退箭头:

getSupportActionBar().setIcon(R.drawable.ic_launcher);
getSupportActionBar().setDisplayShowTitleEnabled(true);
getSupportActionBar().setTitle(R.string.about_event_location);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);

答案 1 :(得分:22)

您需要将此添加到actionBar主题中。您可以将箭头图像替换为您自己的可以透明的图像

<item name="android:homeAsUpIndicator">@drawable/action_arrow</item>

答案 2 :(得分:3)

getActionBar().setHomeAsUpIndicator(R.drawable.action_arrow);

其中action_arrow是25x10px透明png。 sherlock的相同代码是:

getSupportActionBar().setHomeAsUpIndicator(R.drawable.action_arrow);

答案 3 :(得分:1)

@vivek:效果很好。我不建议使用@android:颜色/透明,如Tim Cooper所说,因为标题与左边对齐。所以空图像更好

答案 4 :(得分:0)

在AndroidManifest.xml

删除以下代码,这将从ActionBar中删除后退按钮

android:parentActivityName=".Main.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".Main.MainActivity" />

只需保持如下所示:

<activity
android:name=".YourActivity"
android:label="@string/your_activity_label">
</activity>