画面キーボードが表示されたときと消えたときにAndroidから自動的に通知される方法はないかと思いました。
たとえば、編集テキストをクリックすると、imeが表示されます。イベントコールはありますか?そして、押し戻すと消えると、同様に電話もありますか?
このスレッドをAndroidで見つけました:画面キーボードが表示されたときに発生するイベントはどれですか?、しかし、まだ答えは得られていません。
目的は、可視性を自動的に操作するイベントが必要なためです。画面の上部に編集テキストがあり、その下にリストビューと線形レイアウトが重なり合ったアクティビティがあります。ユーザーに表示される内容を制御するために、可視性を操作します。デフォルトでは、linearlayoutが最初に表示されますが、ユーザーがテキストを入力しているときは、代わりにリストビューが表示されます。ユーザーが入力を終了すると、リストビューが非表示になります。この場合、画面キーボードは閉じられます。
onFocusChangeを使用して可視性の変更を実行しようとしましたが、画面キーボードが消えても、編集テキストはフォーカスを保持し、linearlayoutは再表示されません。
以下は、onFocusChangeの私の実装です
@Override
public void onFocusChange(View v, boolean hasFocus)
{
if(v.getId()==R.id.search_screen_keyword_textbox)
{
if(hasFocus)
{
filterSection.setVisibility(View.GONE);
autoComSection.setVisibility(View.VISIBLE);
}
else
{
filterSection.setVisibility(View.VISIBLE);
autoComSection.setVisibility(View.GONE);
}
}
else if(v.getId()==R.id.search_screen_location_textbox)
{
if(hasFocus)
{
filterSection.setVisibility(View.GONE);
autoComSection.setVisibility(View.VISIBLE);
}
else
{
filterSection.setVisibility(View.VISIBLE);
autoComSection.setVisibility(View.GONE);
}
}
else
{
filterSection.setVisibility(View.VISIBLE);
autoComSection.setVisibility(View.GONE);
}
}
誰かがそれについて何か考えを持っているなら、私に知らせてください。:D