我正在开发一款Android应用(API 14 - 21),其布局如下:
----------------------- | Layout 1 | ----------------------- | X | Layout 2 | ----------------------- | | | | | Layout 3 | | | | | -----------------------
单击“X”时,我需要布局3从屏幕滑到底部,软键盘弹出,“X”和布局2向下滑动(但保持尺寸)在...软键盘和布局1向下扩展以填充任何额外空间。所以它看起来像这样
----------------------- | | | Layout 1 | | | ----------------------- | X | Layout 2 | ----------------------- | | | Soft Keyboard | | | -----------------------
我尝试将RelativeLayout作为所有其他人的主要布局。我将布局1对齐父对象的顶部/左侧,“X”+布局2容器对齐左侧,布局3对齐布局3,布局3对齐底部/左侧父级。我想如果我在代码中将Layout 3设置为VISIBLE / GONE,那就可以了。相反,布局3只是消失,其他一切都保持不变,我看到布局3的白色背景。
关于如何实现这种效果的任何想法?
答案 0 :(得分:0)
在将layout3设置为GONE后,您是否尝试将布局1和布局2的大小调整为全屏?
答案 1 :(得分:0)
在ScrollView中添加您的entiry屏幕。 Android将跨越焦点视图。
答案 2 :(得分:0)
听起来好像您已经能够检测到何时显示软键盘,并且可以告诉Layout3此时隐藏自己(View.Gone)。
白色背景的原因很可能是你设置了具有固定高度设置的Layout1和layout2,当你告诉layout3消失时,它们不会扩展以占用可用空间,因此你会看到白色父ViewGroup的backgorund。