The ActionBar will use the android:logo attribute of your manifest, if one is provided. That lets you use separate drawable resources for the icon (Launcher) and the logo (ActionBar, among other things).
In AndroidManifest.xml:
<application
android:icon="@drawable/launcher"
android:label="@string/app_name"
android:name="com..."
android:theme="@style/Theme">...</Application>
In styles.xml: (See android:icon
)
<style name="Theme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/ActionBar</item>
</style>
<style name="ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:icon">@drawable/icon</item>
</style>
Please try this line
getSupportActionBar().setHomeAsUpIndicator(R.drawable.back_arrow);
If you are using AppCompat, the only way to set the ActionBar icon on devices running Gingerbread (API 10) or below is by setting the android:icon attribute in every Activity in your manifest or setting the drawable programatically.
<manifest>
<application>
...
<activity android:name="com.your.ActivityName"
...
android:icon="@drawable/ab_logo"/>
...
</application>
</manifest>
Update: Be warned however that the application icon will be overridden if you set the android:icon attribute on the launch Activity. The only work around I know of is to have a splash or dummy Activity which then launches your main Activity.
Inspired by TheIT, I just got this to work by manipulating the manifest file but in a slightly different fashion. Set the icon in the application setting so that the majority of the activities get the icon. On the activity where you want to show the logo, add the android:logo attribute to the activity declaration. In the following example, only LogoActivity should have the logo, while the others will default to icon.
<application
android:name="com.your.app"
android:icon="@drawable/your_icon"
android:label="@string/app_name">
<activity
android:name="com.your.app.LogoActivity"
android:logo="@drawable/your_logo"
android:label="Logo Activity" >
<activity
android:name="com.your.app.IconActivity1"
android:label="Icon Activity 1" >
<activity
android:name="com.your.app.IconActivity2"
android:label="Icon Activity 2" >
</application>
Hope this helps someone else out!
Please Try, if use "extends AppCompatActivity" and present actionbar.
ActionBar eksinbar=getSupportActionBar();
if (eksinbar != null) {
eksinbar.setDisplayHomeAsUpEnabled(true);
eksinbar.setHomeAsUpIndicator(R.mipmap.imagexxx);
}
creating logo
in folders "drawable-...
" create in all of them logo.png
.
The location of the folders: [YOUR APP]\app\src\main\res
In AndroidManifest.xml add line: android:logo="@drawable/logo"
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:logo="@drawable/logo"
...
that's it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With