On Fri, Mar 27, 2009 at 12:04 AM, Paranoia <[email protected]> wrote:

> 1. why InputMethodService force the ime developer to follow the fixed
> layout - extracted text, candidate view and input view. i want to
> layout them by myself. can i do this via derive the
> AbstractInputMethodService? if yes, can android team keep this
> abstract class always open and stable?


I would strongly recommend against using that directly.  Using
InputMethodService isn't really going to limit what you can do, and it takes
care of a lot of the details of interacting correctly with the application.

There is a lot of default functionality in InputMethodService for providing
the correct standard behavior for an IME.  If you want to force particular
behavior, there are various methods you can override to impact that.  Just
go through the methods and see what you want to do.

For example, if you want to do your own candidate view, just do that.  Don't
call the method to show the candidate view.  Likewise if you want to always
run in fullscreen/extract mode, then implement the method that decides when
to be in that mode and just always do it.


> BTW: InputMethodService is
> really hard to use.


Well writing a well behaving input method is a little harder than writing a
regular application. :)


> 2. what's the correct behavior of the InputConnection.commitText?
> i write the following code. but it can not satisfy me.
> ...
> InputConnection ic = getInputConnection();
> ic.commitText(textA, 1);
> ic.commitText(textB, 0);
>
> i want the cursor to before the textB and after the textA. but it
> always be present after textB.


Use -1 for the second param; I am pretty sure the doc explains how the
cursor position argument works.

Also please note...  there is not yet an SDK for cupcake, these are all new
APIs, I have no idea of what build you are working against, and depending on
which that is various things may or may not be broken, or have changed, or
whatever else.

-- 
Dianne Hackborn
Android framework engineer
[email protected]

Note: please don't send private questions to me, as I don't have time to
provide private support.  All such questions should be posted on public
forums, where I and others can see and answer them.

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

Reply via email to