final ViewTreeObserver.OnGlobalLayoutListener layoutListener
= () -> {
if (!editTextInited) {
LinearLayout.LayoutParams p = (LinearLayout.LayoutParams) post_content.getLayoutParams();
editTextHeight = post_content.getBottom() - post_content.getTop();
p.weight = 0;
p.height = editTextHeight;
post_content.setLayoutParams(p);
editTextInited = true;
}
Rect r = new Rect();
//获取当前界面可视部分
view.getWindowVisibleDisplayFrame(r);
//获取屏幕的高度
int screenHeight = view.getRootView().getHeight();
int height = screenHeight - r.bottom;
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) post_content.getLayoutParams();
Log.d(TAG, "screenHeight: " + screenHeight);
Log.d(TAG, "r.bottom: " + r.bottom);
Log.d(TAG, "move: " + move);
Log.d(TAG, "post_content.height: " + params.height);
Log.d(TAG, "post_content.高度: " + (post_content.getBottom() - post_content.getTop()));
if (height == 0) {
if (move) {
params.height = editTextHeight;
post_content.setLayoutParams(params);
move = false;
Log.d(TAG, "onGlobalLayout: " + "展开");
}
} else {
if (!move) {
params.height = editTextHeight - height;
post_content.setLayoutParams(params);
move = true;
Log.d(TAG, "onGlobalLayout: " + "收起");
}
}
};
view.getRootView().getViewTreeObserver().addOnGlobalLayoutListener(layoutListener);
监听布局变化 ,调整布局
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...