###前提・実現したいこと
【Class1】で行った処理を【Activity1】で分岐処理したい
###発生している問題・エラーメッセージ
###補足情報
True or False で分岐処理したいです。
###追記
//端末にインストールされているキーボードのプロセス名をmKeyboards変数に格納
public void setKeyboards() {
mKeyboards.clear();
for (InputMethodInfo imi : mInputMethodManager.getInputMethodList()) {
mKeyboards.add(imi.getServiceInfo().processName);
}
}
//現在動作しているServiceの一覧をlistに格納して、for文の中でキーボードのプロセス名と一致するものをチェック public boolean isKeyboardShow() { List<ActivityManager.RunningServiceInfo> list = mActivityManager.getRunningServices(Integer.MAX_VALUE); if (list == null) { return false; } for (ActivityManager.RunningServiceInfo rsi : list) { //キーボードの状態を判定 //キーボードが表示されていないときは1、キーボードが表示されているときは2を返します。 if (mKeyboards.contains(rsi.process) && rsi.clientCount > 1) { return true; } } return false; }
}
で、キーボードが表示されている時の処理を【Activity1】のTextViewの
タッチイベントで分岐の処理を行いたいです。
###処理の背景
通常非表示にしているナビゲーションバーですが、フリック動作でバーが出現してしまうので、バーの領域の部分に、表示レイヤーをTYPE_SYSTEM_ERRORにしたTextViewを配置しているのですが、キーボードが表示されるときに、非表示にしていたはずのナビゲーションバーが出てきてしまうのでナビゲーションバー非表示の再処理を行うためです。
非表示にしていたはずのナビゲーションバーが出てきてしまうことで、ナビゲーションバーの表示領域に配置したTextViewの位置がずれてしまうという問題がおきています。
あなたの回答
tips
プレビュー