我已经编写了一个用于扩展视图的工具,像这样的代码
public static void expand(final View v) {
int initialHeight = v.getHeight();
int targetHeight = ((View)v.getParent()).getHeight();
expand(v, initialHeight, targetHeight);
}
它大部分时间都有效,但是......
问题
当我想在edittext.onClickListener()
中扩展视图时,它很糟糕。因为单击edittext时,会弹出键盘,v.getParent().getHeight()
包括键盘高度。
WANT
要使expand(view)
适合edittext.onClickListener()
,请在视图中填充空白布局(不包括键盘)。
尝试
尝试使用expand(v, v.getHeight(), ((View)v.getParent()).getHeight() - keyboardHeight);
,但无法获得键盘高度
尝试使用measuredHeight
view.measure(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
但为什么view.getMeasuredHeight()会返回36像素,这是一个错误的高度
欢迎提出任何建议。