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

老渔哥网站建设公司宁波网上预约挂号平台

老渔哥网站建设公司,宁波网上预约挂号平台,施工企业安全生产评价表,什么是网站建设公司本文章是基于Android源码6.0讲解Activity加载显示基本流程首先上一张图给大家一个直观的了解首先一个布局页面的加载是在Activity中的setContentView(R.layout.res)开始;我们就从Acitvity源码中的setContentView方法入手public void setContentView(LayoutRes int layoutResID)…本文章是基于Android源码6.0讲解Activity加载显示基本流程首先上一张图给大家一个直观的了解首先一个布局页面的加载是在Activity中的setContentView(R.layout.res)开始;我们就从Acitvity源码中的setContentView方法入手public void setContentView(LayoutRes int layoutResID) {getWindow().setContentView(layoutResID);initWindowDecorActionBar();}通过源码我们可以看到layoutResID又传给了getWindow()中的setContentView(layoutResID)方法mWindow new PhoneWindow(this);public Window getWindow() {return mWindow;}getWindow()返回的是PhoneWindow的对象我们来看PhoneWindow中setContentView(layoutResID)方法PhoneWindow是一个隐藏类在源码sources/andorid-23/com/android/internal/policy中PhoneWindow中setContentView方法Overridepublic void setContentView(int layoutResID) {if (mContentParent null) {installDecor();//Activity新创建时mContentParent 为空调用installDecor方法} else if (!hasFeature(FEATURE_CONTENT_TRANSITIONS)) {mContentParent.removeAllViews();}if (hasFeature(FEATURE_CONTENT_TRANSITIONS)) {final Scene newScene Scene.getSceneForLayout(mContentParent, layoutResID,getContext());transitionTo(newScene);} else {mLayoutInflater.inflate(layoutResID, mContentParent);}mContentParent.requestApplyInsets();final Callback cb getCallback();if (cb ! null !isDestroyed()) {cb.onContentChanged();}}我们来看PhoneWindow中installDecor()方法中的关键部分private void installDecor() {if (mDecor null) {mDecor generateDecor(); //1mDecor.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);mDecor.setIsRootNamespace(true);if (!mInvalidatePanelMenuPosted mInvalidatePanelMenuFeatures ! 0) {mDecor.postOnAnimation(mInvalidatePanelMenuRunnable);}}if (mContentParent null) {mContentParent generateLayout(mDecor); //2...}mLayoutInflater.inflate(layoutResID, mContentParent);//3}在PhoneWindow源码中声明了 private DecorView mDecor;DecorView 是PhoneWindow中的一个内部类继承了FrameLayout,是一个帧布局private final class DecorView extends FrameLayout implements RootViewSurfaceTaker {...}1 首先调用mDecor generateDecor();返回的是一个 DecorView的对象这就是所有页面的跟布局protected DecorView generateDecor() {return new DecorView(getContext(), -1);}2 其次调用mContentParent generateLayout(mDecor);protected ViewGroup generateLayout(DecorView decor) {...} else if ((features (1 FEATURE_ACTION_MODE_OVERLAY)) ! 0) {layoutResource R.layout.screen_simple_overlay_action_mode;} else {// Embedded, so no decoration is needed.layoutResource R.layout.screen_simple;// System.out.println(Simple!);}View in mLayoutInflater.inflate(layoutResource, null);decor.addView(in, new ViewGroup.LayoutParams(MATCH_PARENT, MATCH_PARENT));mContentRoot (ViewGroup) in;ViewGroup contentParent (ViewGroup)findViewById(ID_ANDROID_CONTENT);...return contentParent;}这里的layoutResource是源码中的布局我们来看一下R.layout.screen_simple在sdk/platforms/android-23/data/res/layout路径中android:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:fitsSystemWindowstrueandroid:orientationverticalandroid:inflatedIdid/action_mode_barandroid:layoutlayout/action_mode_barandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:theme?attr/actionBarTheme /android:idandroid:id/contentandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:foregroundInsidePaddingfalseandroid:foregroundGravityfill_horizontal|topandroid:foreground?android:attr/windowContentOverlay /R.layout.screen_simple就是一个简单的线性布局通过mLayoutInflater.inflate和decor.addView添加到DecorView中再通过ViewGroup contentParent (ViewGroup)findViewById(ID_ANDROID_CONTENT);把R.layout.screen_simple中id为id/content的Framelayout赋值给contentParent3 最后通过mLayoutInflater.inflate(layoutResID, mContentParent);把我们写的布局添加到mContentParent中。未完待续...
http://www.yutouwan.com/news/365276/

相关文章:

  • 前台网站开发技术西安市建网站找哪家
  • 中国建设银行浙江分行网站代理注册公司注意什么
  • 企业网站开发时间百度如何做推广
  • 湖北省建设人力资源网站首页网站做调查需要考虑的内容
  • 网站建设 地址 昌乐怎样上网站dns解析不了
  • 国外网站怎么打开做外贸一般在哪个网站
  • 安庆网站建设为建设网银登录官方网站
  • 自己做盗版小说网站怎么用织梦做自己的网站
  • 电子商务网站设计规划书品牌线上推广方式
  • 企业数据网站优化资源
  • 网站设计的目的和任务六安商城网站建设地址
  • 营销组合策略连云港关键字优化案例
  • 高端网站建设哪家好wordpress文章没办法显示略缩图
  • 做安全题目是哪个网站博纳网络科技有限公司
  • 如何提高网站的功能性建设购物网站建设实训心得体会
  • 网站源代码怎么放入 dede网站后台wordpress_主题教程
  • 灯饰网站需要这么做wordpress的轮播图
  • 邢台网站制作怎么样网站域名备案 更改
  • 卖鞋做哪个网站好义乌官网制作网站
  • 做彩网站有哪些贵州省建设厅网站造价工程信息网
  • 佛山网站建设优化做vlogger的网站有哪些
  • 做企业网站制作云服务器可以建设个人网站吗
  • iis7搭建网站织梦石家庄建站模板厂家
  • 男孩子和男孩子在一起怎么做网站wordpress迁移服务器
  • 注册了域名怎样做网站wordpress自豪的采用
  • 分析企业网站建设流程信息查询app
  • 怎么把网站的标题做的炫酷施工企业安全生产管理规范最新版
  • 特价锦州网站建设全网是哪些平台
  • 网站备案幕布照片简洁高端的wordpress个人博客
  • 搜索引擎找不到的网站公司网站维护