php 环信easyui_EaseUI 使用指南

EaseUI 使用指南

简介

EaseUI 是一个 UI 库,封装了 IM 功能常用的控件、fragment 等等,旨在帮助开发者快速集成环信 SDK。

EaseUI 及 Demo 的 GitHub 下载地址为:

注意:因为这是一个 UI 库,后续很可能还会继续改动,新旧版本在 API 的兼容上不会像 IM SDK 那样绝对的兼容。

代码导入

EaseUI 库的代码是开源的,下载的 SDK 压缩包里面已经包含此库,解压后路径为/examples/easeui。

Eclipse 中导入

先把 EaseUI 项目导入到 Eclipse 中。

在自己的项目中把 EaseUI 作为一个 library 引入。右键你的项目 → Android → 点击右下角的 Add 按钮 → 选中 EaseUI → OK → OK。

Android Studio 中导入

打开你的 AS 项目 → File → New → Import Module → 选择或输入 EaseUI 库路径 → Next → Next → Finish。

导入完可能会有如下错误:

找到相应报错的地方把swipeRefreshLayout.setColorSchemeResources改成swipeRefreshLayout.setColorScheme,ViewCompat.getX改成new ViewCompat().getX,然后重新 build 即可。

或者,把v4包的版本号加大,譬如compile 'com.android.support:support-v4:23.1.1'。

主要 fragment

EaseChatFragment – 聊天页面,最主要的fragment

EaseContactListFragment – 联系人页面

EaseConversationListFragment – 会话列表页面

主要控件

EaseTitleBar – 标题栏

EaseChatMessageList – 聊天消息列表控件

EaseConversationList – 会话列表控件

EaseContactList – 联系人列表页面

EaseChatInputMenu – 聊天输入菜单栏

其他子控件,后文会做详细介绍

这里对聊天页面几个控件做简单图示:

初始化

正式使用 EaseUI 需要先调用初始化方法,在 Application 的 oncreate 里调用初始化。

EaseUI.getInstance().init(applicationContext)

启动聊天会话 fragment

new 出 EaseChatFragment 或者其子类,调用 setArguments 方法传入 chatType(会话类型)和userId(用户或群id),通过 getSupportFragmentManager() 启动 fragment。

//new出EaseChatFragment或其子类的实例

EaseChatFragment chatFragment = new EaseChatFragment();

//传入参数

Bundle args = new Bundle();

args.putInt(EaseConstant.EXTRA_CHAT_TYPE, EaseConstant.CHATTYPE_GROUP);

args.putString(EaseConstant.EXTRA_USER_ID, "zw123");

chatFragment.setArguments(args);

getSupportFragmentManager().beginTransaction().add(R.id.container, chatFragment).commit();

聊天会话 fragment 功能扩展

EaseUI 提供现成的聊天相关能直接使用的 fragment,APP 无需任何改动,可以直接使用(可参考simpledemo)。也可以通过继承 EaseUI 里的 fragment 亦或是直接使用 EaseUI 里提供的 widget 扩展自己的需要的功能。

自组合 widget 实现会话 fragment

自组合控件时可参考 EaseChatFragment 类。

注意:使用 EaseUI 中的自定义控件时,如果需要 xml 中设置其属性(具体哪些属性可查看 attrs 文件),务必在 xml 根节点中加上

1. 标题栏控件 EaseTitleBar 使用

在 xml 中声明标题栏控件,可以在 xml 直接设置标题内容,左右图片,在 Java 文件中亦可以设置这些属性以及相关的点击事件。

示例:

android:id="@+id/title_bar"

android:layout_width="match_parent"

android:layout_height="wrap_content"

easemob:titleBarLeftImage="@drawable/ease_mm_title_back" />

titleBar = (EaseTitleBar) getView().findViewById(R.id.title_bar);

titleBar.setTitle("张建国");

titleBar.setRightImageResource(R.drawable.ease_mm_title_remove);

2. 聊天消息列表控件 EaseChatMessageList 使用

EaseChatMessageList 默认包含文字、表情、图片、语音、视频、文件消息的显示。

使用该控件,可以在 xml 中设置其 item(chatrow) 的背景图片,是否显示用户头像、昵称等属性。

android:id="@+id/message_list"

android:layout_width="match_parent"

android:layout_height="match_parent"

easemob:msgListShowUserNick="false"

/>

常用 API:

messageList = (EaseChatMessageList) getView().findViewById(R.id.message_list);

//初始化messageli

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于展示海量数据,传统的方式是将数据全部加载到页面中,这样会导致页面加载缓慢,甚至出现卡顿的情况。而虚拟滚动视图可以只加载当前可见的数据,随着滚动条的滚动,动态加载新的数据,从而提高页面的加载速度和用户体验。 在使用 Easyui 进行数据滚动展现时,可以使用其提供的 datagrid 组件,并设置其属性 virtual scrolling 为 true。这样就可以启用虚拟滚动视图功能。 具体操作如下: 1. 引入 Easyui 的 CSS 和 JS 文件。 2. 在 HTML 中添加一个 div 元素,并设置其 id。 3. 在 JS 中使用 datagrid 组件,并设置其 virtual scrolling 属性为 true。 代码示例: HTML: ```html <div id="datagrid"></div> ``` JS: ```javascript $('#datagrid').datagrid({ url: 'get_data.php', //获取数据的接口 pagination: false, //关闭分页功能 remoteFilter: true, //启用远程过滤 virtual scrolling: true, //启用虚拟滚动视图 rownumbers: true, //显示行号 singleSelect: true, //只允许选择一行 columns:[[ {field:'name',title:'姓名',width:100}, {field:'age',title:'年龄',width:100}, {field:'gender',title:'性别',width:100}, {field:'address',title:'地址',width:200} ]] }); ``` 4. 在后端编写相应的接口,用于获取数据。在接口中需要根据 datagrid 组件传递的参数进行数据筛选和分页处理。 PHP 代码示例: ```php <?php $page = isset($_POST['page']) ? intval($_POST['page']) : 1; //获取当前页码 $rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10; //获取每页显示的数据量 $offset = ($page - 1) * $rows; //计算偏移量 //从数据库中获取数据 $sql = "SELECT * FROM table LIMIT $offset, $rows"; $result = mysql_query($sql); $data = array(); while($row = mysql_fetch_assoc($result)){ $data[] = $row; } //返回数据 echo json_encode(array( 'total' => count($data), //总数据量 'rows' => $data //当前页的数据 )); ?> ``` 通过以上步骤,就可以实现 Easyui 的虚拟滚动视图功能,用于展示海量数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值