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

inf*_*nfo 23 android android-actionbar

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

我的代码:

getSupportActionBar().setIcon(R.drawable.logo);
getSupportActionBar().setDisplayShowTitleEnabled(true);
getSupportActionBar().setTitle(R.string.dashboardtitle);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
Run Code Online (Sandbox Code Playgroud)

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

Bor*_*rys 24

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

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

    setContentView(R.layout.main);
    ActionBar actionBar = getActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);
    ...
}
Run Code Online (Sandbox Code Playgroud)

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

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

getSupportActionBar().setIcon(R.drawable.ic_launcher);
getSupportActionBar().setDisplayShowTitleEnabled(true);
getSupportActionBar().setTitle(R.string.about_event_location);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
Run Code Online (Sandbox Code Playgroud)

  • 根据这个问题,OP已经有了这个. (8认同)

viv*_*vek 22

您需要将其添加到actionBar主题中.您可以将箭头图像替换为您自己的图像,该图像可以是透明的

<item name="android:homeAsUpIndicator">@drawable/action_arrow</item>
Run Code Online (Sandbox Code Playgroud)

  • 这有效!我不得不将新的drawable设置为某个宽度的透明图像,因为使用`@android:color/transparent`不包括应用程序图标左侧的任何填充. (4认同)