My Samsung Galaxy S2 running Android Ice Cream Sandwich has nice little counters that appear on the home page shortcuts for Mail etc. telling me how many new messages there are waiting. That's just the behaviour that I want for my own app.
If I've read the Android docs and related questions in SO right, that behaviour is not exposed through Android, but is provided by the launcher itself, so it can't be done directly.
But I have produced the behaviour that I want using an app widget. Now I'm left with the problem of making the app widget layout visually consistent (alignment, text appearance) with the appearance of the regular shortcuts. I can't see a sensible robust way to to this. Anyone?
(Otherwise it looks as though I'll have to make the app widget look sufficiently unlike a shortcut that visual consistency isn't an issue.)
Related
I want to make a widget but it should be uninstallable or undeletable from home screen (if possible) like "google search" widget on nexus & moto phones. I searched it already but didn't find anything related to this. Is it really impossible to built such widgets?
Is it really impossible to built such widgets?
Yes. The decision of what widgets to allow users to add and remove is up to the home screen implementation, not you. So, for example, if on "nexus & moto phones" you install a third-party home screen, the Google search widget may or may not be available at all, let alone non-removable.
If you want to force people to have certain things on their home screen, write a home screen, then use heavy weaponry to force people to use that home screen. Note that the use of heavy weaponry may be illegal in some jurisdictions.
I'm working on my first (C++/IwNUI) Marmalade app, which so far works fine, but on Monday one of my devices (an HTC One Android phone, Credo Mobile) had a system update, after which my app, and only my app, now shows what seems to be a "settings" control on top of my app, which can be moved around, but does nothing but clock taps to the app where it is. It's a grey circle with three dots in it, which appears immediately when my app starts to load. Another Android test machine (Samsung Galaxy) does not show this control on my app.
Has anyone else seen this? How might I get it not to appear?
I have asked on the Marmalade forums with no response, and searched here and on the web but I haven't seen any reference to it, so I assume it may be limited to some combination of Marmalade apps, HTC One, and/or Credo Mobile Android phones.
Update: This control appears (on this phone only) on all of the Marmalade example apps I have built too, including IwUI, IwNUI, and plain demos like IwHTTPExample.
Even though this is very specific, I wonder if anyone knows a programmatic way in Marmalade C++ for me to at least get such a settings control to hide or go away?
I found a way to make it go away: "Add android:targetSdkVersion="11" (or higher) to your element." in the settings file which in my Marmalade project is called AndroidManifest.xml.
It seems like this may be a bug where it thinks there is an "overflow" of a title/menu-bar which isn't even there in these apps. By targeting a later version, it uses a newer "holo" menu, which doesn't do this.
If someone has a better explanation, I'll wait to mark that as the accepted answer.
In case it may help future people confused by all this, here's how I found this. Jared's answer led me to study my Marmalade config files, and the Android developer site where I found some general somewhat relevant info about what this is, and to search some different terms on the Marmalade forums, which got me to a relevant question I had missed on the Marmalade community answer pages, which led me to this page which had the suggestion which has the desired effect.
I am guessing you created a new project. Are you seeing this "settings"?
This is automatically added in every new app. Check your res -> menu folder. You can remove the "fake" options menu if you like.
Samsung will show this menu if you hit the menu button on the bottom left of the device.
HTC devices will show the options menu in the ActionBar/ToolBar.
I want to add black padding (a thick black border) to the android screen such that every app is displayed with the padding around it. I know how to do this for my app but how do I do this such that when my app is running in background the display is padded?
I don't believe this is possible unless you're willing to create and run a custom ROM.
Thankfully, this is not possible for the average non-ROM third party Android developer.
The screen on mobile devices is actually very limited, and when programming for the mobile environment, you have to learn to get away from the windows metaphor used by traditional desktop PCs.
On the other hand, may be your app could pretend it is running in the background, but still stay in the foreground with its transparency enabled. And perhaps if you can't do something, may be you can find a way to fake that something for your users.
Also, note that the default home launcher is capable of doing something similar to what you want, but only for widgets. And if being able to run widgets is sufficient for you, perhaps you could write your own launcher application that can embed widgets.
When I click and hold a widget on the homescreen of my HTC Incredible 2 with the default Sense launcher I get drag destinations for both "Remove" and "Edit" at the bottom of the screen.
How do I enable the use of the "Edit" option in my own widget? I am only able to run the configuration Activity on widget creation but would like to reopen it with the "Edit" action. Is this option specific to Sense and not Android in general?
UPDATE:
I can't seem to find any documentation for the HTC API for Android < 4.0. I also confirmed that this feature is only available on HTC devices and I've only seen it active for HTC widgets. So I assume that it is only possible to exploit this feature by targeting only HTC devices (stupid idea) or not at all.
Android AOSP doesn't seem to support widget re-configuration..Docs don't even mention it, apart from initial widget configuration.
I remember that option only using HTC's Sense phones...Anyway also some famous aftermarket distribution doesn't seem to support it, even for pre-installed widgets.
Are there any requirements/guidelines for an Android device? like numbers of buttons or minimum buttons required.
Also are there any android devices which do not have the menu and back buttons?
( I am aware that no menu/back buttons will kill most of the apps in terms of usability , I just wanted to know more on the topic :-) )
Are there any requirements/guidelines
for an Android device? like numbers of
buttons or minimum buttons required.
Yes. These are documented in the Compatibility Definition Document.
Also are there any android devices
which do not have the menu and back
buttons?
That depends on how you define "buttons" and "android devices". Quoting from the CDD (see above link):
The Home, Menu and Back functions are
essential to the Android navigation
paradigm. Device implementations MUST
make these functions available to the
user at all times, regardless of
application state. These functions
SHOULD be implemented via dedicated
buttons. They MAY be implemented using
software, gestures, touch panel, etc.,
but if so they MUST be always
accessible and not obscure or
interfere with the available
application display area.
There are devices that do not have dedicated off-screen buttons (whether physical or touch-sensitive off-screen spots). The ARCHOS 5 Android tablet is one -- it has the HOME and BACK buttons in an expanded title bar. However, it is unclear if Google considered them to have met the CDD, since the ARCHOS does not have the Android Market. Devices lacking the Market may not meet the CDD.
So, it is entirely possible to create devices that do not meet the CDD, but at that point Android is mostly just another embedded OS, IMHO.
I would recommend this links:
Twitter for Android: A closer look at Android’s evolving UI patterns
Android UI design patterns
User Interface Guidelines