I just took a look on different devices and their soft keyboards. They are all looking a bit different. I attach two screenshots. One is from my HTC Desire (Android 2.2), another one from Emulator (Android 2.3).
As you can see on the device the enter key is on device just a symbol, on emulator it is "send".
Can I change it somehow?
I had this problem a year ago, my problem was that the numeric keypad is very different from each provider (not only on style but on the buttons that are shown)
In my personal experience is a pain to try to change that, you would need to create your own SoftKeyboard class with your own images.
If it's not an important issue I recommend to just pass over it, or find a keyboard type that satisfies your needs.
However, I don't know if in the newest versions of Android you get an easier way to customize keyboards.
Good luck on there :)
Related
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've been writing an new app for our company and came across an odd thing. On the test device (running 2.3.x) the alert dialog buttons will always be in the order of:
POSITIVE | NEGATIVE
Yet, when I tested the app on my personal cell (running 4.x) the alert dialog buttons were switched to:
NEGATIVE | POSITIVE
The code is obviously the same.
I don't really want to make different versions. But I could cater for later versions in code, and maybe (although its rubbish) swap the text of the positive and negative buttons... Which would work, I'm guessing, but it's a bit horrible!
The only problem I can foresee, is that our end-users aren't that tech-savvy and having multiple devices, using differing versions of the OS, could cause issues (which I could easily cater for, but would rather some kind of 'standard').
Is this something I can get around? Or is it best to leave as is and let the OS handle it (as I am doing now)? Also, are there any other small issues I'm going to run into. I.e. Can I guarantee that on 4+ devices that if I'm only using 2 buttons that they will remain in the above order.
What I'm hoping someone will post is a hidden flag that magically sets 4.x alert dialogs to 2.x style :) I'm pushing my luck, I know!
Cheers. Any help is greatly appreciated.
It's an interesting piece of lunacy from Google (see issue 24138) but, as of ICS, this is how it's supposed to be. Definitely best to let the OS choose the ordering.
If you wish to have it the same for all versions, you could potentially check which version of Android is being run, and change the negative/positive buttons yourself. I don't recommend it, and people will expect it to like it is on their device, don't shoehorn everyone into having the exact same flow.
I'm new to Android development. For that reason, I apologize if this is a dumb question. I have honestly tried to figure this out and read a number of related questions without any success.
I have a basic app running in . From the screenshot, you can see how the keyboard focused on numbers displays. I just want to show the basic qwerty-esque keyboard. For the life of me, I can't figure out how to do it. Currently, I've set the imeOption to normal thinking that would do it. I also tried setting the inputType to 'normal' without any luck. Here's the relevant pieces of my Android Layout file.
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:imeOptions="normal"
android:inputType="text"
...
/>
What am I doing wrong? How do I show the basic qwerty-style keyboard in Android? Thank you!
As TanjaV said, this keyboard is for devices with a physical keyboard where the avd will not change it regardless of your input type.
Change your AVD devices to something such as Nexus4, or Nexus One (if you want older model), then you should see the keyboard changing.
I have a form-based app where each form is a scrollable layout of various types of view (RadioButton, Spinner, EditText views, etc). I have tested the app on a Galaxy Nexus with Android 4 and an Advent Vega with Android 4 and there are no issues with focus. I can scroll through the form without any problems.
However, when I test on the target device (a Android 3.2 Orange Tahiti which is a rebranded Huawei MediaPad), suddenly the focus behaviour is very different. It's difficult to know exactly what the tablet is trying to do. If I hide the soft keyboard and scroll, the tablet tries to focus on EditText views as they come into view and pops up the keyboard every time it successfully focuses which is very annoying. Also, on occasion the tablet will randomly jump to the last EditText in the form, scrolling the user away from their position in the form.
I have tried various focus settings (requestFocus, clearFocus(), descendantFocusability, etc) to no avail. However, I doubt the problem has anything to do with config as it works fine on other devices.
Is it possible that the focus behaviour in Honeycomb is different to all other versions of Android? I doubt it but it's worth finding out for sure before resorting to installing a custom ROM just in case I have overlooked a Honeycomb-specific config setting that might fix the problem.
Seems as this is a problem (or included "feature") of the branded version of Honeycomb that comes with an Orange Tahiti.
Upgrading to ICS will sort it out and scrolling, etc will behave as you would expect. Follow the below link for instructions...
http://forum.xda-developers.com/showthread.php?t=1544855
I own an Asus Transformer (first model) with the US keyboard dock.
However, I'm French, and thus have to interact in French pretty regularly, which does include writing accented letters.
As far as I know, the current workaround for doing that is to basically popup the software keyboard, not very convenient.
One implementation of being able to write accented (and other special letters such as ß) with a traditional QWERTY layout is the one used in Mac OS X. For those who don't know, this is accomplished by pressing alt + a-key-which-usually-makes-a-lot-of-sense (I'm not kidding, they really make sense), that will give you the accent, then the letter which you want to be accented (so alt + e, then e will give you é).
That's the behavior I'd like to implement. However, I don't really find where I'd have to do that.
I looked at the documentation about keyboard devices ( http://source.android.com/tech/input/keyboard-devices.html ) but I don't think that's the right place to do any changes as I don't want to change any keymap or keycodes.
On the other hand, I took a glance at https://github.com/android/platform_frameworks_base/tree/master/core/java/android/inputmethodservice (keyboard.java and keyboardview.java in particular) but I have the impression this is more related to software keyboard.
Does anybody have more clues about this ?
Thanks
I had similar problems with entering Russian characters on TF101. I'm more used to phonetic layout than to standard one.
I was able to modify Android example application SoftKeyboard to accomplish that. You can find code at https://protronika.dyndns.org/websvn/listing.php?repname=FLEXKBD&path=%2F&sc=0 .
Sorry, code is very raw with many things hardcoded. I started that project very recently. So it is in "just works" state.