info
info

Reputation: 2182

Removing left arrow from the actionbar in android?

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!!

Upvotes: 24

Views: 24331

Answers (5)

Keshav
Keshav

Reputation: 3273

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>

Upvotes: 0

xip
xip

Reputation: 2682

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);

Upvotes: 3

defim
defim

Reputation: 472

@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

Upvotes: 1

vivek
vivek

Reputation: 4919

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>

Upvotes: 22

Borys
Borys

Reputation: 1823

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);

Upvotes: 26

Related Questions