As the title says, my menu items no longer have their icons in the Android emulator. I am developing with API 16 and recently downloaded an update that became available for the SDK and the ARM image. Even after removing and reinstalling the whole Android SDK, the issue persists. I know that it isn't my own code because I reverted to a known version and it also has the same issue. The same version runs on an actual device as expected. I also previously ran the app on the emulator using API 7 and the icons appear just fine. Does anyone know if this is a known issue with the recent update?
Screenshot:
Previously, the menu items all appeared in a row at the bottom with icons above the text.
As the title says, my menu items no longer have their icons in the Android emulator.
This is the way the overflow appears on Android 4.0+, for devices and emulators with an off-screen MENU button.
Even after removing and reinstalling the whole Android SDK, the issue persists.
It will persist on the tens of millions of Android 4.x devices as well, or at least those that have a MENU button. Devices sans MENU button will have a similar-looking drop-down menu, emanating from the ... affordance on the right side of their action bar.
The same version runs on an actual device as expected.
That actual device is not running Android 4.x, presumably.
Does anyone know if this is a known issue with the recent update?
If by "recent update" you mean the nearly-year-old release of Android 4.0, then yes.
Related
I'm using:
Mac OS High Sierra 10.13.4
Android Studio 3.1.1
Nexus 5X emulator with API level 27
On its top, the emulator is not clickable or draggable, I just cannot drop down the notification bar or click the back button in app. This is not happening at the bottom of the emulator...anyone experiencing the same issue? I don't know if this could be useful, but I'm using a double monitor (macbook + led panel).
EDIT: I think there's a problem with smaller devices. same problem with Pixel 2 (NOT XL).
Works fine with Pixel 2 XL.
EDIT 2: Pixel 2 works fine on API level 25 (Nougat).
I thought that experienced exactly this issue with the Pixel 4 API 31 emulator running in AndroidStudio 2021.1.1 on Ubuntu today; however, it turned out to be user expectations of older APIs combined with a barely-readable notification icon in the bar.
I wanted to open the device settings; my own devices are older Android 9 and to do this, I just tap the notification bar, it expands, and I click on the gear icon which immediately appears in the notification bar area once the pane expands to show quick settings.
The API 31 UI acts differently - first of all, I thought there was a permanent settings gear already in the notification bar. I thought that was odd, but, okay, I'll click it to open... turns out that this is not the case: it's an actual notification icon that looks like a settings gear from the Google Setup program trying to complete the initial setup on the phone (this was a new emulator). Tapping it did nothing, of course, but was frustrating because I thought it was a setting gear. Strike one, and had me googling for "Emulator top bar not responsive" leading me here.
Secondly, clicking to "tap" on the notification bar in API 31 doesn't immediately expand it like it does on my API 28-based Note 8: I had to "click and swipe" down (awkward with the mouse) to open notifications. And in API 31, even this is not sufficient to see the actual phone settings gear either! You have to swipe down one more time to further expand the notification pane and finally you can see the gear to open settings.
These two things combined to make me believe that the emulator was non-responsive when clicking the notification bar at the top.
I hope this helps someone else realize what might be happening - took me more time to write this up than the actual "problem" cost me, but I was so annoyed at this "broken" emulator which wasn't opening the settings for me that I had to write it up!
Device: HTC One mini
Android OS: 4.3
app minSdkVersion="8"
app targetSdkVersion="11"
I'm building apps for old Android 2.2 phones and higher and have duplicated my menu into a popup window in case newer Androids have issues with it. The black bar bellow shows the lone menu button on a specific device (HTC One mini), but my benefactors want it removed/hidden from the final version.
I wish to keep using the phisical menu button normally on older phones, so it would be best to disable it for specific OS versions or models of phones.
How do you hide/remove the useless bottom black bar? Preferably without raising the targetSdkVersion?
How do you hide/remove the useless bottom black bar?
Set your targetSdkVersion to 14 or higher.
Preferably without raising the targetSdkVersion?
Chop the bottom portion of the phone off with a very sharp axe. Note that this may void your warranty on the phone.
I tried searching for this and didn't find anything, posting this here if it helps anyone. I was running into an issue where a test device of mine running Android 4.0.3 would not display the Chromecast menu item when a device was discovered (where the chromecast menu item specifies a MediaRouteActionProvider). There appears to be a bug in the SDK for devices running below 4.1.2 as I did not have this issue with an S4 or HTC One (both running 4.3). The temporary workaround that I found for this is to simply add another menu item so that the Chromecast menu item was not the only item in the menu. This appears to be consistent with the sample projects in GitHub as they for some reason had a dummy "settings" menu item. Removing that settings menu item and running the sample project on my 4.0.3 yielded my original problem. Long story short: if you're testing the SDK on devices running below 4.1.2 and are having issues seeing the chromecast menu item, try adding a dummy menu item. Hope that helps someone.
I have application which uses Sherlock ActionBar package.
The application uses platform-specific behavior for menu (so it's 3-dot icon in ActionBar on ICS and classic menu under HW button on pre-ICS)
I had recieved report from one user with HTC One X. It appears, that One X shows some "compatibility" bar with menu button on the bottom of screen, and there is also same button in ActionBar (where it's supposed to be).
I was not able to emulate this in AVD, and I have multiple reports that this issue is not present on Galaxy Nexus or Galaxy S (they show only the icon in ActionBar).
I have no idea where to look to resolve this or how to debug it, so any help or workaround will be appreciated.
Application is built against API14, with targetSdk="11"
You have a typo:
The android:targetSdkVersion in the manifest should be the solution - it's recommended by Google to always set it to the maximum available (currently it's 19).
Some websites do show that HTC shows the huge button on old apps, but not on new ones, as shown here, so if you think it's weird/ugly, simply set the target SDK. Also make sure it's updated in the project.properties file .
I created an app with minimum SDK 7 in order to get maximum compatibility with circulating devices. On Android phones (GB2.3), pressimng Menu button pops up a menu strip on the bottom of the screen, and that is correct.
However on HC3.2 tablets, where no menu hardware key is present, I expected a soft-menu key on the bottom of the screen, but it didn't appear, so I can't open my menu.
I don't know where to investigate and which portion of my code to share, so could you please show me where do I have to look for menu softbutton?
After reading that menus are deprecated in most recent Android versions, I don't know if ICS4 has a soft-menu button or not. I never tested my app on such a device. Can you give me advices?
Thanks
The link you provide tells you how to correctly provide action bars in your app so that the presence or otherwise of a physical menu button is irrelevant, so that's a good start.
Now, you need to combine that with a little runtime detection of the SDK version (just check the Build.VERSION.SDK_INT constant for Android 1.5 or above), along with some appropriate reflection to enable the same APK to run on any Android version starting with your minSDK version.