In my situation, where I've used a series of custom views that don't
force the soft keyboard to display, I'm playing with the following to
allow the user to bring it up.

        View.OnLongClickListener mLongClickListener = new
View.OnLongClickListener() {

                @Override
                public boolean onLongClick(View v) {

                        Configuration config = 
MyView.this.getResources().getConfiguration
();
                        if (config.hardKeyboardHidden ==
Configuration.HARDKEYBOARDHIDDEN_YES) {
                                InputMethodManager imm = (InputMethodManager)
MyView.this.mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
                                imm.showSoftInput(MyView.this,
InputMethodManager.SHOW_IMPLICIT); //.SHOW_FORCED);
                        }
                        return false;
                }

        };

So, given that the Hero isn't functioning properly with the long-press
menu (maybe other devices as well?), this seems like the least
intrusive means of giving the user access to the soft keyboard (long-
press on the component). Again, its not intuitively obvious, but it
doesn't take up additional real estate on the screen nor does it take
up a menu position - both very finite resources. I'll try to use some
of the 325 characters available to describe the app to mention this
feature.

I didn't want to show the soft keyboard if the physical keyboard
wasn't hidden, hence the HARDKEYBOARDHIDDEN_YES test. At least in the
emulator, this seems to be the case - where the emulator is set up
without a physical keyboard. I tried to use the keyboardHidden
attribute first as it seems like it was supposed to take into account
both the hard and soft keyboard, but it just didn't change in the
emulator and was always set to KEYBOARDHIDDEN_NO, so perhaps I am not
sure how that one is supposed to work.

I'm not sure how this potential solution might translate to those
struggling with list views, but maybe... and I'm still testing....

Also, I'm not entirely sure whether to use SHOW_IMPLICIT or
SHOW_FORCED as both seem to work in the emulators. The SHOW_IMPLICIT
closes the soft keyboard when my app exits, assuming it brought it up
to begin with. However, the SHOW_FORCED works even when the device has
a physical keyboard (hidden). I know the getResources() will tell me
if a keyboard is QWERTY or 12Key, but I don't know how to tell if a
physical keyboard exists - in which case I could choose the forced
method there and the implicit method for soft keyboard. After all,
EditText will show the soft keyboard on a device with a hidden
physical keyboard - so that seems like a GUI standard I should
emulate. Still thinking about this one.

Unfortunately, I have to abandon any users still on the Android 1.1
build, but I suppose that's just the way it is.

Best Regards,
Eric
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to