`
寻梦者
  • 浏览: 635434 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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

阅读更多

下面是效果图:


效果图1:
chatting_1.png




效果图2:

chatting_2.png





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

chatting_3.png




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

注意:

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

分享到:
评论
1 楼 zhoumiao10 2012-08-17  
很好,不错。

相关推荐

    android 软键盘弹出动态改变UI布局(IM聊天窗口设计示例) 源码

    总之,这个源码示例提供了处理Android软键盘弹出动态改变UI布局的方法,特别是对于IM聊天窗口的设计,具有很高的参考价值。开发者可以通过深入研究这些代码,学习如何在软键盘弹出时优雅地调整布局,提升应用的交互...

    软键盘弹出动态改变UI布局

    本示例"软键盘弹出时动态改变UI布局学习Demo"着重讲解如何处理这一常见问题,以提供良好的用户体验。 首先,我们需要理解Android中的布局管理。在默认情况下,当软键盘弹出时,Android会调整Activity的布局以适应...

    Android---UI篇

    •Android---UI篇---Tab Layout(选项卡布局) • •Andorid---UI篇---TableLayout(表格布局) • •Android---UI篇---RelativeLayout(相对布局) • •Android---UI篇---GridView(网格布局) • •Android---UI篇-...

    android-ui-utils,从code.google.com/p/android-ui-utils自动导出.zip

    总的来说,“android-ui-utils”是Android开发者的重要参考资料,它将帮助我们解决UI设计中的常见问题,同时激发创新,推动我们构建出更优秀、更具有竞争力的应用。无论是初学者还是经验丰富的开发者,都值得花时间...

    android ui源码:自己设计的一个精美布局

    例如,分析一个开源项目的布局代码,可以学习到如何优化性能,避免过度绘制,以及如何实现动态布局和响应式设计。 4. **布局设计实践**: 实践是检验理论的最好方式。"自己设计的一个精美布局"项目提供了这样的...

    pro-android-ui:示例android ui项目

    通过深入研究"pro-android-ui"项目,开发者不仅可以提升Android UI设计能力,还能更好地理解Android系统的工作原理,从而构建出更符合用户需求的应用。这个项目不仅是一份实战指南,也是不断学习和进阶的宝贵资源。

    jquery-ui-datepicker中文版

    jquery-ui-日期框扩展成时间框 jquery-ui时间框 基于别人的代码进行修改 jquery-ui-1.8.16.custom.css文件末尾加入以下代码 .ui-timepicker-div .ui-widget-header{ margin-bottom: 8px; } .ui-timepicker-div dl{ ...

    Android-UI-Design

    标题:Android UI 设计 知识点: 1. Android UI 概述 Android UI 设计涉及介绍用户界面的基本结构和设计模式,包括顶级视图、详情视图、动作栏(ActionBar)等。开发者需要掌握Android应用程序的结构,以及如何运用...

    jquery-ui-1.8.16.custom.min.js/jquery-ui-1.8.16.custom.css

    `jquery-ui-1.8.16.custom.css` 文件则是对应的样式表,用于定义这些UI组件的外观和布局。定制版("custom")意味着这个CSS文件可能包含了特定的样式调整,以满足特定项目的需求。用户可以根据自己的设计需求调整这...

    Android-UI-Tutorials-master

    1. **布局管理器(Layout Managers)**:Android提供了多种布局,如线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)和网格布局(GridLayout)。它们决定了视图如何在屏幕上排列和对齐...

    android-ui-toolkit-demos,.zip

    这个压缩包`android-ui-toolkit-demos.zip`包含了`android-ui-toolkit-demos-master`目录,这通常意味着它是一个Git仓库的克隆版本,原仓库已经迁移至`github.com/android/views-widgets`。在这里,我们可以找到一...

    android 软键盘弹出相关的坑之解决方法

    在Android开发中,软键盘的弹出与隐藏问题常常给开发者带来困扰,尤其是在全屏模式和非全屏模式下。本文将深入探讨这些"坑"并提供相应的解决方法。 首先,我们来理解软键盘弹出的基本原理。Android系统在用户点击...

    知识共享-Android不让弹出键盘挡住View(雷惊风).

    在探讨如何防止Android弹出键盘遮挡View之前,我们首先需要理解软键盘的显示原理。软键盘并非简单的界面元素,实际上,它是由`InputMethodService`创建的一个特殊的`Dialog`。当用户在界面上点击一个输入框时,系统...

    IM UI 聊天交流UI设计参考模板 html5

    IM UI(即时通讯用户界面)聊天交流UI设计是构建在线沟通平台的重要组成部分,尤其是在现代互联网应用中,良好的用户体验是至关重要的。HTML5作为最新的超文本标记语言标准,为UI设计提供了丰富的功能和交互性,使得...

    Android v4和v7包 appcompat-v7:23.1.1 支持AppCompatActivity

    Android开发中的`appcompat-v7`库是Google为了支持老版本Android设备而推出的兼容库,主要目的是为了让开发者能够在低版本的Android系统上使用新版本引入的功能。`appcompat-v7:23.1.1`是这个库的一个特定版本,发布...

    Android开发之浅仿QQ聊天UI和键盘控制

    在Android应用开发中,设计一个类似QQ的聊天用户界面(UI)并处理好键盘弹出时的布局调整是一项常见的任务。QQ聊天UI不仅涉及到消息显示、输入框设计,还涉及键盘控制,确保用户在输入时不会被系统键盘遮挡。在本...

Global site tag (gtag.js) - Google Analytics