भविष्य के पाठकों के लिए।
मैं इस मुद्दे पर विशिष्ट नियंत्रण चाहता था, इसलिए मैंने यही किया:
एक खंड या गतिविधि से, अपने अन्य विचारों को छिपाएं (जो कि कीबोर्ड के ऊपर होने के दौरान आवश्यक नहीं हैं), फिर उन्हें इस समस्या को हल करने के लिए पुनर्स्थापित करें :
rootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect r = new Rect();
rootView.getWindowVisibleDisplayFrame(r);
int heightDiff = rootView.getRootView().getHeight() - (r.bottom - r.top);
if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard...
//ok now we know the keyboard is up...
view_one.setVisibility(View.GONE);
view_two.setVisibility(View.GONE);
}else{
//ok now we know the keyboard is down...
view_one.setVisibility(View.VISIBLE);
view_two.setVisibility(View.VISIBLE);
}
}
});