我使用这个代码,当我弹出一个键盘时,我在这里使文本视图消失了。但是当隐藏键盘时,我希望textview再次回到正常位置。此外,当textview消失时,它下面的edittext将会上升。然后在隐藏键盘时返回其正常位置。我怎样才能做到这一点?谢谢!
final View activityRootView = findViewById(R.id.LinearLayout1);
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int heightDiff = activityRootView.getRootView().getHeight() - activityRootView.getHeight();
if (heightDiff > 100) // if more than 100 pixels, its probably a keyboard...
findViewById(R.id.titleTextView).setVisibility(View.GONE);
}
});
答案 0 :(得分:0)
if (heightDiff > 100) {
findViewById(R.id.titleTextView).setVisibility(View.GONE);
}else{
findViewById(R.id.titleTextView).setVisibility(View.VISIBLE);
}
应该这样做。
答案 1 :(得分:0)
很简单 - 如果键盘显示超过100,键盘隐藏时应该小于100:
if (heightDiff > 100){ // if more than 100 pixels, its probably a keyboard...
findViewById(R.id.titleTextView).setVisibility(View.GONE);
}else{
findViewById(R.id.titleTextView).setVisibility(View.VISIBLE);
}
修改强>
试试这个:
if (heightDiff > 200){ // if more than 100 pixels, its probably a keyboard...
findViewById(R.id.titleTextView).setVisibility(View.GONE);
}else if(heightDiff < 200){
findViewById(R.id.titleTextView).setVisibility(View.VISIBLE);
}