Android-UI详解:软键盘弹出动态改变UI格局(IM聊天窗口设计示例

Android-UI详解:软键盘弹出动态改变UI布局(IM聊天窗口设计示例

下面是效果图:


效果图1:
Android-UI详解:软键盘弹出动态改变UI格局(IM聊天窗口设计示例




效果图2:

Android-UI详解:软键盘弹出动态改变UI格局(IM聊天窗口设计示例





效果图3:(注意:消息框下面的一栏将被隐藏)

Android-UI详解:软键盘弹出动态改变UI格局(IM聊天窗口设计示例




android目前还没有直接对软键盘事件进行直接监听的方法,实现这样的效果需要自己写一个布局类继承LinearLayout,并重写onSizeChanged方法。

注意:

不能直接在OnResizeListener中对要改变的View进行更改,因为OnSizeChanged函数实际上是运行在View的layout方法中,如果直接在onSizeChange中改变view的显示属性,那么很可能需要重新调用layout方法才能显示正确。然而我们的方法又是在layout中调用的,因此会出现错误。因此我们在例子中采用了Handler的方法。