Android のソフトウェアキーボードについて

911 views
Skip to first unread message

kazuaki

unread,
Apr 13, 2011, 5:14:25 AM4/13/11
to Android勉強会inWAKAYAMA
こんにちは。
田内です。

社内で Android の事を聞かれて ソフトウェアキーボード (IMF) について調べています。
予備知識も無いくせに optimus pad 貸してくれるという言葉に釣られました(笑

やりたい事はソフトウェアキーボードを画面下部ではなく右側に表示させたいのですが、
そもそもそういう事は可能なのでしょうか?
SDK の SoftwareKeyboard サンプルを眺めていたのですが、今のところ思ったようには
表示できていません。

何かヒント等ご存じでしたらお教え頂けないでしょうか。
よろしくお願い致します。

Masuzawa

unread,
Apr 13, 2011, 9:28:20 AM4/13/11
to androidi...@googlegroups.com
こんばんは
増澤です。

IMFについて調べてみました。
結構簡単に作れるんですね。

ソフトウェア技術ドキュメントを勝手に翻訳 
h. オンスクリーン入力方式 ( IME )
https://sites.google.com/a/techdoctranslator.com/jp/resources/articles/articles-index/on-screen-inputs

↑このサイトによると、
  ソフトキーボードはアプリケーションのウィンドウの上に被さり、画面の下の方に配置されます。
  アプリケーションと IME との間のスペースを整理する方法としてはいくつかのアプローチがあり、
  ここに表示されているパンアンドスキャンと呼ばれているものと、
  アプリケーションウィンドウに単にスクロールを追加し、現在フォーカスされているビューを見えるようにするものです。
  既存のアプリケーションにはこれがもっとも安全であることから、これがデフォルトのモードとなっています。

とあるので、やはり下のほうに配置されるようです。
ざっと探した感じ右側に表示するIMEのアプリもなさそうなので、できなさそうな雰囲気ですね。

ちなみに、右側に表示させたいというのは、タブレット端末で画面が広いから、右側にテンキー置くみたいな感じにしたいとかでしょうか?
であれば、自作してしまったほうが楽かもしれません。
ちなみに、IMFのソフトウエアキーボードはViewなので、アプリ中でコントロールとして使えます。
↓こんな感じに(EditTextの右にキーボード置いてみました。)
sample.jpg



2011年4月13日18:14 kazuaki <kazu...@gmail.com>:
> --
> このメールは Google グループのグループ「Android勉強会inWAKAYAMA」の登録者に送られています。
> このグループに投稿するには、androidi...@googlegroups.com にメールを送信してください。
> このグループから退会するには、androidinwakay...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/androidinwakayama?hl=ja からこのグループにアクセスしてください。
>
>

sample.jpg

kazuaki

unread,
Apr 13, 2011, 11:47:12 PM4/13/11
to Android勉強会inWAKAYAMA
こんにちは。
田内です。

わざわざ調べて頂きありがとうございます。
やはり汎用的なソフトウェアキーボードとして実装は難しいのですね。

用途としては増澤さんのおっしゃる通りテンキーだけがあればいいので
画面を有効活用したいという事を考えています。

ソフトウェアキーボードが無理であればテンキーを持ったアプリとして
作らないといけないとは考えていたのですが、ソフトウェアキーボード
自体をコントロールとして配置するという事は思いついていませんでした。
(示していただいた例は InputMethodService ではなく KeyboardView を
コントロールとして配置しているという理解でよいでしょうか?)

早速試してみたいと思います。
ありがとうございました。


On 4月13日, 午後10:28, Masuzawa <maramb...@gmail.com> wrote:
> こんばんは
> 増澤です。
>
> IMFについて調べてみました。
> 結構簡単に作れるんですね。
>
> ソフトウェア技術ドキュメントを勝手に翻訳
> h. オンスクリーン入力方式 ( IME )https://sites.google.com/a/techdoctranslator.com/jp/resources/article...
>
> ↑このサイトによると、
> ソフトキーボードはアプリケーションのウィンドウの上に被さり、画面の下の方に配置されます。
> アプリケーションと IME との間のスペースを整理する方法としてはいくつかのアプローチがあり、
> ここに表示されているパンアンドスキャンと呼ばれているものと、
> アプリケーションウィンドウに単にスクロールを追加し、現在フォーカスされているビューを見えるようにするものです。
> 既存のアプリケーションにはこれがもっとも安全であることから、これがデフォルトのモードとなっています。
>
> とあるので、やはり下のほうに配置されるようです。
> ざっと探した感じ右側に表示するIMEのアプリもなさそうなので、できなさそうな雰囲気ですね。
>
> ちなみに、右側に表示させたいというのは、タブレット端末で画面が広いから、右側にテンキー置くみたいな感じにしたいとかでしょうか?
> であれば、自作してしまったほうが楽かもしれません。
> ちなみに、IMFのソフトウエアキーボードはViewなので、アプリ中でコントロールとして使えます。
> ↓こんな感じに(EditTextの右にキーボード置いてみました。)
> [image: sample.jpg]
>
> 2011年4月13日18:14 kazuaki <kazuak...@gmail.com>:
>
>
>
> > こんにちは。
> > 田内です。
>
> > 社内で Android の事を聞かれて ソフトウェアキーボード (IMF) について調べています。
> > 予備知識も無いくせに optimus pad 貸してくれるという言葉に釣られました(笑
>
> > やりたい事はソフトウェアキーボードを画面下部ではなく右側に表示させたいのですが、
> > そもそもそういう事は可能なのでしょうか?
> > SDK の SoftwareKeyboard サンプルを眺めていたのですが、今のところ思ったようには
> > 表示できていません。
>
> > 何かヒント等ご存じでしたらお教え頂けないでしょうか。
> > よろしくお願い致します。
>
> > --
> > このメールは Google グループのグループ「Android勉強会inWAKAYAMA」の登録者に送られています。
> > このグループに投稿するには、androidi...@googlegroups.com にメールを送信してください。
> > このグループから退会するには、androidinwakay...@googlegroups.comにメールを送信してください。
> > 詳細については、http://groups.google.com/group/androidinwakayama?hl=jaからこのグループにアクセスしてください。
>
>
>
> sample.jpg
> 199K表示ダウンロード- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

たろサ

unread,
Apr 14, 2011, 12:29:28 AM4/14/11
to androidi...@googlegroups.com
 山本です。
 本題とはぜんぜん関係ないのですが、近況をば・・・。

 3月の中ごろから、本格的には今月からかな。Android関係の仕事をスタートし
ているのですが、はまりまくって、どたばたです。

 今までの自宅の開発環境が、32bit版 XPだったのですが、googleさんは最新の
開発環境では64bit必須にしてしまったのです。

 v2.2の最新やv2.3以降は、64bit版のlinuxじゃ無いとAndroidがビルドできま
せん・・・。googleめ!

 それで、急遽64bit版のWindows7 Proを買ってインストールして、さぁVMWare
でUbuntuを入れてと思ったら、メイン気のCPUが64ビットの癖にIntel-VTモード
をサポートしていないので、64ビット版のVMWareが動かない・・・。

 仕方がないので、Core i3の新規マシンを買って、昨日やっとWindows7のイン
ストールとメール環境くらいを入れ終わりました。
 これから、eclipseとか開発環境をそろえていく予定です。そんなことをやり
ながら、DalvikVMのカーネルソースを読み始めています。v2.2とv2.3でメモリの
管理の仕方が大きく変わったので、そこらへんを読もうと思っているのですが、
まだ、余り日本語資料がないですね。
 Androidのアプリケーションを起動するときには、Zygoteが自分をコピーした
ものをfork()して起動しているととか、そのやり取りをsocketでやっていると
か、まだまだ、基本的なところをやっとこさ理解し始めているところです。

 Androidカーネルは、linuxのsourceよりはきれいだと思います。ソースの書き
方(見栄え)はね。コードも自分が書くよりは、ぜんぜんよく書けていると思います。
 v3.0のソースはまだ出ないようですね。

 とにかく、AndroidのBuild環境は今週中にでも作ろうと思っています。froyo
のx86版は32bit版でbuildできたので、日経linux読みながら先月ビルドしてみた
ので、大体感じはつかめています。

 こんな感じて、最近、PCの再インストールばかりしていて、ネットフォローも
きちんとできていない感じです。
 
 ではでは。

Masuzawa

unread,
Apr 15, 2011, 11:56:10 AM4/15/11
to androidi...@googlegroups.com
増澤です。

返しが遅くなってすいません。
> (示していただいた例は InputMethodService ではなく KeyboardView を
>  コントロールとして配置しているという理解でよいでしょうか?)
その通りです。>田内さん

山本さん
本格的にandroidの仕事を始められたのですね。
自分は、やっとandroidの開発に慣れてきたところです。
androidのビルドですか、さすがですね。
ビルドしてってことは、もしかして何かしらの新しいデバイスに
インストールするのでしょうか。面白そうですね~。
いつか、その辺のOS周りの仕組みとかもお話聞けたら嬉しいです。

たろサ

unread,
Apr 15, 2011, 12:38:38 PM4/15/11
to androidi...@googlegroups.com
 山本です。

> 本格的にandroidの仕事を始められたのですね。
 前々からやっていた大阪の仕事が、linuxからAndroidにシフトしてきた感じです。

> androidのビルドですか、さすがですね。
> ビルドしてってことは、もしかして何かしらの新しいデバイスに
> インストールするのでしょうか。面白そうですね~。

 その会社では、Androidのインプリをやっているようですが、私はもっぱら
ソース解析です。インプリはコード理解していなくても、載せられちゃうみたい
なので、そのフォロー役のような感じです。

 組み込みAndroidのお仕事が面白そうなので、まぁ、勉強になります。

> いつか、その辺のOS周りの仕組みとかもお話聞けたら嬉しいです。
 まだまだ説明できるレベルでは無いですが、ビルドのところとかは話せるかも
しれません。今、このメールを書きながら、VMWareにUbuntu64ビットインストー
ル中です。

 5月にでも、是非、勉強会をやりましょう。

 そうそう、今日、市役所に行ってきたのですが、たまたま、保健システムの話
になって、移行がまだできていないようなことを言っていました。私は絡んでい
ないので、よくわからないですが(^^;。ちょっと心配。

> --
> このメールは Google グループのグループ「Android勉強会inWAKAYAMA」の登録
> 者に送られています。
> このグループに投稿するには、androidi...@googlegroups.com にメール
> を送信してください。

> このグループから退会するには、
> androidinwakay...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/androidinwakayama?hl=ja
> からこのグループにアクセスしてください。

--
山本三七男 (Minao Yamamoto) ---------------- ハンドル:たろサ -----
E-Mail: taro...@gmail.com

Reply all
Reply to author
Forward
0 new messages