Removing left arrow from the actionbar in android?

2019-01-22 12:39发布

I want to remove the left arrow from the action bar and only icon and title needed.

My code:

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

But this doesn't remove the left arrow . Any help!!

5条回答
forever°为你锁心
2楼-- · 2019-01-22 13:10

You need to add this to your actionBar theme. You can replace arrow image with your own image which can be transparent

<item name="android:homeAsUpIndicator">@drawable/action_arrow</item>
查看更多
爷、活的狠高调
3楼-- · 2019-01-22 13:15
getActionBar().setHomeAsUpIndicator(R.drawable.action_arrow);

Where action_arrow is a 25x10px transparent png. Same code for sherlock would be:

getSupportActionBar().setHomeAsUpIndicator(R.drawable.action_arrow);
查看更多
倾城 Initia
4楼-- · 2019-01-22 13:17

In AndroidManifest.xml

remove the below code, which will remove back button from your ActionBar

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

Just keep it like below:

<activity
android:name=".YourActivity"
android:label="@string/your_activity_label">
</activity>
查看更多
欢心
5楼-- · 2019-01-22 13:24

@vivek: works great. I do not recommend to use @android:color/transparent as Tim Cooper said, because the Title is aligned to the left. So a empty image is better

查看更多
6楼-- · 2019-01-22 13:25

According to specification android specification: To enable the icon for up navigation (which displays the "up" indicator next to the icon), call setDisplayHomeAsUpEnabled(true) on your ActionBar:

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

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

So you should set actionBar.setDisplayHomeAsUpEnabled(false);

UPDATE: I test next code with ActionBar sherlock and it's work. There is no back arrow:

getSupportActionBar().setIcon(R.drawable.ic_launcher);
getSupportActionBar().setDisplayShowTitleEnabled(true);
getSupportActionBar().setTitle(R.string.about_event_location);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
查看更多
登录 后发表回答