Unable to change app icon - android

I am trying to change the launch icon of my already developed android app. I right click on res folder. Go to new --> image asset and change the path given there.
It confirms me that some files will be updated and so on. But my launch icon doesnt change.
On top of that , when I go back to res --> new --> image asset, path has changed itself back to original path:
C:\Program Files\Android\Android Studio1\plugins\android\lib\templates\gradle-projects\NewAndroidModule\root\res\mipmap-xhdpi\ic_launcher.png
The above path is not even a part of my project. I am unable to fiure out , where this is hard coded. Please help.

you can change change an icon, just long press on an app, and this pop-up menu shows up. Tap on Edit. Next, tap on the original icon seen on the left. You can choose a new icon from a pack, or you can create one from the images in your gallery.
You can change icon by installing a custom launcher,

Go to your apps AndroidManifest.xml file and change android:icon attribute with your icon
<application
android:allowBackup="true"
android:icon="#drawable/your_icon"
android:label="#string/app_name"
android:supportsRtl="true"
android:theme="#style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

On Android Studio, a right click on the root folder of your app > New > Image Asset > Launcher Icons and setting your new icon should do the trick and overwrite the existing one.
If it doesn't, try removing the asset in your project tree first, and try again. You have to delete every resolution of it!

I've made it like this in my app:
delete every single file in your project called ic_launcher.png
(mostly found in android studio under project->src->res->drawable/mipmap...)
rename your own Icon png to: ic_launcher.png
drag and drop your icon into the folder 'mipmap' or 'drawable', depending where the file previously was, in your android studio project.
done :)

You should add the new icon in all mipmap folders like xxxhdpi,xxhdpi,xhdpi

Firstly add all the application Icon size in mipmap like mdpi, hdpi, xhdpi, xxhdpi and xxxhdpi.After then just place name in android:icon attribute.
<application
android:allowBackup="true"
android:icon="#mipmap/ic_launcher"
android:label="#string/app_name"
android:roundIcon="#mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="#style/AppTheme">
</application>

Related

Icon on desktop but not on list

I've made a few Android App with the launcher icon in drawable. Now, with the new Android Studio, it seems better to put it (or them) inside mipmap. So I've done that and get a problem:
The icon of the new App is visible on the desktop with the correct name, but in the Settings/Application List, the App has the default Android icon and the name is the dev path (eg com.ansb.reflexe rather than "Reflexo")
My Manifest is the same than for the older App so seems not to be the "reason why"
<application
android:allowBackup="true"
android:icon="#mipmap/ic_launcher"
android:label="#string/app_name"
android:theme="#style/AppTheme" >
Any idea?

Android application is installing two launcher icons

This is not a duplicate of Android Application creating two launcher icons (I don't have multiple LAUNCHER definitions in my manifest), nor Android Application Creating Two Launcher Icons instead of One (a restart of the device does not remove the second launcher icon).
My android application is creating two launcher icons, but one of them seems to be coming from the application itself, rather than any activity. I've cropped my AndroidManifest.xml to the smallest it can be (plus clean and rebuild and reinstall), and I am still getting two icons (on both my HTC One M8 physical phone and my Nexus 5 emulator):
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app">
<application
android:allowBackup="true"
android:icon="#mipmap/ic_launcher"
android:label="#string/app_name"
android:supportsRtl="true"
android:theme="#style/AppTheme">
<activity
android:name=".SplashActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
There is nothing else in my manifest.
...does the application itself as I've defined it create an icon somehow? Or is there some other way that I'm ending up with multiple launcher icons?
If I move the android:label and android:icon features into the .SplashActivity definition, one of the launcher icons created is replaced with the default little green robot icon.
Activities and other bits of manifest-y goodness come from a variety of sources:
the manifest in your main sourceset
the manifest in any build type or product flavor sourceset
the manifest in any library module or AAR
Gradle (e.g., minSdkVersion)
Android Studio 2.2 gave us a convenient tool to examine the real manifest that goes into our APKs, merged from all those sources. If you open the manifest in Android Studio, click over on the "Manifest Merger" sub-tab (towards the bottom of the IDE). That will show what is in the merged manifest and who is to blame for it where it came from.
If you see other activities in there besides the one in your manifest, that is the source of your launcher icon. Then, you'll need to decide:
is that activity something you really want?
if not, is the source of that activity something that you really want? (if not, nuke it)
if you want the source but not the activity, you can rig up another activity element in your manifest, with a tools:replace attribute, to override the one from the library and suppress the <intent-filter>
My problem was, that I've added the following intent-filter to multiple Activities. Configured it for one Activity fixed the issue for me.
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

Widget icon not updating

I've defined an upload_widget.png file for my app widget, and declared it as below in my AndroidManifest.xml. It worked fine when I first created it, but I've now made a change to the .png image files (in each of /drawable folders), synchronised the files in Android Studio, but the widget icon is not reflecting the new .png files when I re-test the app on my Galaxy S4.
When I long-press on the screen (I'm using Nova Launcher) and select "add widget" I see the correct icon in the "Choose Widget" list, but when I select it I get a different icon on the launcher - i.e. the old icon. When I run the app in a Nexus 5 emulator I get the same problem.
Any ideas??
<receiver android:name=".UploadWidget" android:icon="#drawable/upload_widget" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="#xml/upload_widget_info" />
</receiver>
UPDATE
Here is upload_widget_info:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="40dp" android:minHeight="40dp" android:updatePeriodMillis="86400000"
android:previewImage="#drawable/example_appwidget_preview"
android:initialLayout="#layout/upload_widget" android:resizeMode="horizontal|vertical"
android:widgetCategory="home_screen|keyguard"
android:initialKeyguardLayout="#layout/upload_widget"></appwidget-provider>
Your code is correct. This is a common problem on devices running Lollipop. To fix it, navigate through these steps : Settings -> Apps -> Google App -> Manage Space -> Clear Launcher Data. Your shortcuts on the homepage will disappear but the widget icon will be correct.
Source: https://code.google.com/p/android/issues/detail?id=81076&thanks=81076&ts=1417102714

Running the Android app without TitleBar

As by default, the application name is appearing on one label like TextView. How do i remove my titlebar permanently for my application?
Any ideas?
You can use below code for that -
<activity android:name="YourActivityname" android:theme="#android:style/Theme.NoTitleBar" />
If you want the full screen of your device you can use below code -
<activity android:name="YourActivityname" android:theme="#android:style/Theme.NoTitleBar.Fullscreen" />
And, also refer Developer's Site
That is a setting based on the activity in your android manifest file.
Use the No Title Bar theme for your activity.
<activity android:name="MyActivityName" android:theme="#android:style/Theme.NoTitleBar" />

Android TabHost appearance not as expected

i just followed the tutorial on tabs creation from the android dev documentation
and my tabs didn't turn out the way they probably should. Here is a screen on how it looks for me:
alt text http://bombhot.se/files/923947/messedtabs.png
and here is how it should look like:
(source: android.com)
I found som threads that talks about putting localisation on the tabhost and make every activity follow the same configuration but it hasn't worked for me so far. Wondering if
there's something i'm missing, here is my manifest file:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.koollateral.myWallet"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="#drawable/icon"
android:label="#string/app_name">
<activity android:name=".mywallet"
android:label="#string/app_name"
android:theme="#android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".homeActivity"
android:label="#string/app_name"
android:theme="#android:style/Theme.NoTitleBar">
</activity>
<activity android:name=".calendarActivity"
android:label="#string/app_name"
android:theme="#android:style/Theme.NoTitleBar">
</activity>
</application>
</manifest>
I've done this API example before, and I think all that has happened is you have swapped your images compared to the example. Note how the tab uses the negative space of the image as the contrasting colour, while you matched the negative space to the background colour. So if you go into your drawable folder and change the xml file you created for the tabs by swapping the images, it should look a little closer to the example.
Other than that, what do you think isn't right? It appears that you have done the exercise correctly.
Edit: also as a tip, you can put android:theme="#android:style/Theme.NoTitleBar"in the <application> instead of having to put it into every Activity. Then none of your activities will have the title bar.
There seem to be two problems. You have listed the images reversed. Meaning you have the selected and unselected images backwards. Also it looks like they are not the right size. You need to consider the dpi of the device you are targeting.
Hi guys since Android 2.1 the tabs are more square look, my solution was adding a selector containing images with rounded corners.
tabs.getTabWidget().getChildAt(0).setBackgroundResource(R.drawable.mytab_roundedcorner);

Categories

Resources