当前位置: 首页 > news >正文

电子商务网站策划太原seo自媒体

电子商务网站策划,太原seo自媒体,css做电商网站首页,网站项目设计具体方案1、我们在聊天页面时候,往往会遇到,键盘、表情、其他选择切换时候页面会出现掉下来再弹起问题,这是因为,我们切换时候,键盘异步导致内容View高度变化,页面掉下来后,又被其他内容顶起这种很差视觉…

1、我们在聊天页面时候,往往会遇到,键盘、表情、其他选择切换时候页面会出现掉下来再弹起问题,这是因为,我们切换时候,键盘异步导致内容View高度变化,页面掉下来后,又被其他内容顶起这种很差视觉效果。

要解决这个问题,最简单方法就是切换时候,将内容View高度固定然后去操作键盘显示后再去释放内容View高度。

2、这里我们提供具体思路

2.1xml布局:(FrameLayout + RecyclerView,是为了让键盘弹起时候,RecyclerView有个向上平移效果)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><!--  标题View --><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="?actionBarSize"></androidx.constraintlayout.widget.ConstraintLayout><!--  聊天展示View   android:layout_weight="1" 让聊天内容填充剩下内容--><com.scwang.smart.refresh.layout.SmartRefreshLayoutandroid:id="@+id/smartRefreshLayout"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"app:srlEnableLoadMore="false"app:srlEnableRefresh="true"><!--  添加FrameLayout 是为了让键盘弹起时候,聊天内容(RecyclerView)平移上去效果--><FrameLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"><androidx.recyclerview.widget.RecyclerViewandroid:id="@+id/recyler"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_gravity="bottom"android:overScrollMode="never"android:scrollbars="none"android:visibility="invisible" /></FrameLayout></com.scwang.smart.refresh.layout.SmartRefreshLayout><!-- 按钮:发送、输入框等View --><LinearLayoutandroid:id="@+id/button_input"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"></LinearLayout><!-- 图片选择、语音、视频等View --><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/other_select"android:layout_width="match_parent"android:layout_height="@dimen/common_dp_114"android:visibility="gone"></androidx.constraintlayout.widget.ConstraintLayout><!-- emotion 表情选择View  这个是自定义View--><EmotionViewandroid:id="@+id/emotion"android:layout_width="match_parent"android:layout_height="wrap_content"android:visibility="gone" /></LinearLayout>

2.2:当键盘需要弹起锁内容View高度(这里重点讲解参数:height,height = smartRefreshLayoutMaxHeight(聊天内容最大高度) - supportSoftInputHeight(键盘的高度),这样做的目前就是让键盘弹起时候,页面感觉聊天内容View平移上效果)

 private void viewLockHeight(int height) {LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) smartRefreshLayout.getLayoutParams();layoutParams.height = height == 0 ? smartRefreshLayout.getHeight() : height;layoutParams.weight = 0.0F;smartRefreshLayout.setLayoutParams(layoutParams);}

2.3:延迟释放高度(设置 layoutParams.weight = 1.0F)

 private void viewReleaseLockHeight(int delayMillis) {if (smartRefreshLayout != null) {smartRefreshLayout.postDelayed(new Runnable() {@Overridepublic void run() {if (smartRefreshLayout != null) {LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) smartRefreshLayout.getLayoutParams();layoutParams.height = LinearLayout.LayoutParams.MATCH_PARENT;layoutParams.weight = 1.0F;smartRefreshLayout.setLayoutParams(layoutParams);}}}, delayMillis == 0 ? 200L : delayMillis);}}

2.4:RecyclerView展示最后一条数据(切换、键盘、表情等)

  public void recyclerStopScroll() {recyclerView.stopScroll();layoutManager.scrollToPositionWithOffset(0, 0);}

3:切换流程

界面正常展示(此时聊天内容界面最大高度展示)--->弹起键盘

①、RecyclerView停止所有事件recyclerStopScrol()

②、内容View锁高  viewLockHeight(contentViewMinHeight = 聊天内容最大高度-键盘高度)

③、起键盘

④、延迟释放高度viewReleaseLockHeight()

弹起键盘——>表情

①、RecyclerView停止所有事件recyclerStopScrol()

②、内容View锁高  viewLockHeight(0)

③、收键盘

④、展示表情

⑤、延迟释放高度viewReleaseLockHeight()

表情——>弹起键盘

①、RecyclerView停止所有事件recyclerStopScrol()

②、内容View锁高  viewLockHeight(0)

③、弹起键盘

④、收起表情

⑤、延迟释放高度viewReleaseLockHeight()

http://www.khdw.cn/news/21186.html

相关文章:

  • 做一个15页的网站怎么做北京网络seo推广公司
  • 亲子游网站怎么做广州seo顾问
  • 石家庄市城乡建设学校网站企业管理培训课程视频
  • 万业网网站建设审核深圳网
  • 高新快速建设网站找哪家免费网络推广软件
  • 泉州关键词排名工具百度seo运营工作内容
  • 茶叶网站建设的优势搜索关键词推荐
  • 有赞商城官网登录seo网络培训学校
  • 网站建设ihuibest国际域名注册网站
  • 地方门户网站开发网络培训心得体会总结
  • 做第三方团购的平台网站百度推广公司哪家比较靠谱
  • 海南网站建设制作今日新闻最新
  • 郑州网站关武汉seo招聘
  • 申请域名之后如何做网站开鲁seo网站
  • wordpress主题插件汉化seo优化百度技术排名教程
  • wordpress把文章标题放进url阿亮seo技术
  • 做外贸 访问国外网站网站模板下载免费
  • 动漫制作专业好不好常州seo排名收费
  • 做网站待遇哪些网站可以免费发广告
  • 聊城网站建设哪家专业营销最好的方法
  • 动态域名可以做网站吗百度推广登录首页官网
  • 自己的网站打不开了线上宣传方式有哪些
  • 网站后台密码如何破解湖南有实力seo优化哪家好
  • 手机网站跟pc网站有什么不同浏览器打开
  • 国家工商网站查询百度一级代理商
  • 长春谁家做网站发表文章的平台有哪些
  • qq客服代码放在wordpress那里seo权重查询
  • 武汉文理学院机电与建筑工程网站百度热搜的含义
  • 领动做的网站怎么样百度竞价推广投放
  • 汕头网站设计制作公司今天的重要新闻