プロフィール

猫好きトム

Author:猫好きトム
モルディブと猫が大好きです!モルディブは10回行きました。
英語ができないのに外資系金融に無謀にも転職して、ITとして10年ほど働き、今は会社を辞めて猫と一緒に一休み中です。趣味は旅行とFXと猫を見ることです!英語の勉強は必要に迫られてずっとやってます。TOEIC935点です。

最新記事

カテゴリ

月別アーカイブ

最新トラックバック

メールフォーム

名前:
メール:
件名:
本文:

検索フォーム

RSSリンクの表示

リンク

ブロとも申請フォーム

QRコード

QR

FC2カウンター

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Androidアプリ開発メモ - EditText のキーイベントを拾う等

今日もAndroid の開発でいろいろ苦労したので

EditTextのキーイベントを全て拾う
最初は KeyListner か、OnKeyListener で全て拾おうとしたのですが。。。KeyListenerか OnKeyListener では、入力方法(InputMethod)によっては、拾うことができませんでした!!!
例えば、ATOKではOKなのですが、Galaxy s2 ではSamsung日本語キーボードにすると、キーを拾うことができませんでした。あと、ADVのエミュレーターでも。
入力方法によらずに拾うには、TextWatcherを使うしかないようです。


EditTextにフォーカスをあてた時にソフトキーボードを出さないようにする方法
Editableをfalse にしただけではだめです。
ソースコード上で、EditText に対して setInputType(InputType.TYPE_NULL);
もしくは、xml の中で EditText に対してandroid:inputType="none" にする必要があります


AudioManager の setStreamVolumeで設定できるボリュームの最大値
これは、AudioManager の getStreamMaxVolume() で調べられます。
Galaxy S2 の STREAM_ALARM と STREAM_RINGTONE の場合は最大値は7でした。ずいぶん小さいですね。


フォーカスが外れたときにソフトキーボードを隠す

ソフトキーボードを隠すには、InputMethodManagerのhideSoftInputFromWindow()を呼び出します。

public boolean hideSoftInputFromWindow (IBinder windowToken, int flags)

OnFocusChangeリスナーで呼び出します。
@Override
public void onFocusChange(View v, boolean hasFocus) {
  if (hasFocus == false) {
   InputMethodManager im = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
   im.hideSoftInputFromWindow(v.getWindowToken(), 0);
  }
}

EditText でロングタップを無効にするには
xml で、android:longClickable="false" を入れる
スポンサーサイト

<< モルディブ ロイヤルアイランド - 2004.11 | ホーム | Androidアプリ開発メモ - Activity を Background で動かす、端末スリープ時の sleep, wait の動作等々 >>


コメント

コメントの投稿


管理者にだけ表示を許可する

 ホーム 


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。