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

如何跳过网站会员js判断是手机还是电脑访问网站

如何跳过网站会员,js判断是手机还是电脑访问网站,网站建设推广怎么玩,企业网站建设内存系列文章目录 文章目录 一、 从0开始实现 onCreate 的setContentView二、 从0 开始实现 onMeasure三、 从0 开始实现 onLayout四、 从0 开始实现 onDraw总结 前言 接上文,测量完View树的每个节点View的宽和高后,开始布局。 一、ViewRootImpl 的调用栈…

系列文章目录

文章目录
  • 一、 从0开始实现 onCreate 的setContentView
  • 二、 从0 开始实现 onMeasure
  • 三、 从0 开始实现 onLayout
  • 四、 从0 开始实现 onDraw
  • 总结

前言

接上文,测量完View树的每个节点View的宽和高后,开始布局。

一、ViewRootImpl 的调用栈

ViewRootImpl->performLayout(lp, mWidth, mHeight);

                        host.layout()

ViewGroup -> layout(int l, int t, int r, int b)

View -> layout(int l, int t, int r, int b)

View ->setFrame(l, t, r, b)

           onLayout(changed, l, t, r, b)

DecorView-> onLayout(changed, l, t, r, b)

FrameLayout->onLayout()

                        layoutChildren()

二、布局每个View

View.java  layout() 函数先设置自己的 left, right, top, bottom ,再做onLayout动作, onLayout的意图是布局 子控件。 view 已经没有子控件了, 所以 view的onLayout 什么也不做。

protected int mLeft;protected int mRight;protected int mTop;protected int mBottom;public void layout(int l, int t, int r, int b) {boolean changed = isLayoutModeOptical(mParent) ?setOpticalFrame(l, t, r, b) : setFrame(l, t, r, b);if (changed || (mPrivateFlags & PFLAG_LAYOUT_REQUIRED) == PFLAG_LAYOUT_REQUIRED) {onLayout(changed, l, t, r, b);
}}protected boolean setFrame(int left, int top, int right, int bottom) {...mLeft = left;mTop = top;mRight = right;mBottom = bottom;...
}protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
}

由于 ViewGroup 的 onLayout 是虚函数, 所以 ViewGroup 需要实现自己的onLayout

   public final void layout(int l, int t, int r, int b) {if (!mSuppressLayout && (mTransition == null || !mTransition.isChangingLayout())) {if (mTransition != null) {mTransition.layoutChange(this);}super.layout(l, t, r, b);} else {// record the fact that we noop'd it; request layout when transition finishesmLayoutCalledWhileSuppressed = true;}
}protected abstract void onLayout(boolean changed,int l, int t, int r, int b);

总结:

View 树的布局实际是给 每个view子节点的 mLeft, mTop, mRight, mBottom 四个成员变量赋值, 这四个成员变量代表 了 view 这个矩形框的位置和大小。

http://www.yayakq.cn/news/854026/

相关文章:

  • 最好的微网站建设公司推荐合肥网站建设服务公司
  • 医疗网站设计成都高端品牌网站建设
  • 小型网站运营网站制作 电子商城
  • 肇庆住房建设部网站购物网站开发背景需求
  • 云主机 多个网站网站 服务器 带宽 估算 网站流量
  • 企业营销型网站seo推广杭州app定制
  • 环保网站建设公司排名湖南正规seo优化报价
  • 假发网站是怎么做的微信开放平台在哪里进入
  • 空间 网站都有 肿么做网站直播视频在线
  • 专业网站设计制作咸阳网站开发公司电话
  • 利用wps做网站网页编辑如何添加图片
  • 电子商务的网站建设电子商务热门岗位
  • 域名备案查询网站备案与小学生一起做网站
  • 上海市城乡建设网站网站建设实训小组报告
  • 建设厅投诉网站首页可以做英文纵横字谜的网站
  • 浙江公司网站建设推广wordpress设置投稿者上传功图片
  • 朝阳 手机网站 建设wordpress minfy
  • 怎么在百度做原创视频网站上海装修公司投诉排行
  • seo网站推广与优化方案公司网站手机版模板
  • 滁州市公共资源交易中心搜索引擎优化的报告
  • 南昌简单做网站海口网站建设方案报价
  • 浅谈电子商务网站的建设与管理延平网站建设wzjseo
  • 怎么可以上传自己做的网站seo的搜索排名影响因素有
  • 贵阳市花溪区建设局网站wordpress 主题哪个好
  • 专业柳州网站建设推荐wordpress 图片缩放插件
  • 做电路设计的兼职网站seo 网站改版
  • 学平面设计优化生育政策
  • 网站代运营合同建设需要什么系统网站
  • 建设网站的企业专业服务wordpress 同步 微博
  • 太仓网站制作书生网站建设远洋国际