最近学习JetPack,看到这么一句话,其实以前也有,那么记录一下到底什么意思:

Android开发中在布局文件里面都会有如下面的内容:

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".TestActivity"/>

这里出现的 tools:context 作用,网上讲了很多,主要回答如下:

tools:context="activity name"这一句不会被打包进APK。只是ADT的Layout Editor在你当前的Layout文件里面设置对应的渲染上下文,说明你当前的Layout所在的渲染上下文是activity name对应的那个activity,如果这个activity在manifest文件中设置了Theme,那么ADT的Layout Editor会根据这个Theme来渲染你当前的Layout。就是说如果你设置的MainActivity设置了一个Theme.Light(其他的也可以),那么你在可视化布局管理器里面看到的背景阿控件阿什么的就应该是Theme.Light的样子。仅用于给你看所见即所得的效果而已。

也许会看的似懂非懂,举个例子就行了:

TextView 采用了 android :text , 而 EditText中使用了 tools:text,右边Layout 编辑器会显示内容Name,sample name 两个字体,  如果你运行代码后编译,生成apk 后,终端就只显示Name,不会显示Sample Name这个字样。大家可以试试运行,看下效果就知道。

( 比如我们在布局TextView 中想要显示一段文字时,以前使用android:text显示,然后在编译器中布局调整,最后完成后删除android:text属性。有了tools参数后,可以直接使用tools:text在预览时显示文字即可,省却了上面删除的麻烦,编译后此tools:text 相当于注释了。)

我们回去继续理解:tools:context 属性

1. tools:context="activity name"这一句不会被打包进APK,

相当于这句被注释了,编译后不起任何作用.

2.  只是ADT的Layout Editor(即为上面图示右边模拟器)在当前的Layout文件里面设置对应的渲染上下文,当前的布局xml所在的渲染上下文是activity name对应的那个activity,如果这个activity在manifest文件中设置了Theme,那么ADT的Layout Editor会根据这个Theme来渲染你当前的Layout。就是说如果你设置的MainActivity设置了一个Theme.Light(其他的也可以)。

你加上了tools:context="activity name" ,这个xml 布局就是渲染指定activity , manifest文件中设置了Theme 的话, 上图右边模拟器theme 样式也会跟着变化对应 theme。

总而言之, 这些tools 属性主要针对的 上图右边那个模拟器 调试时候显示状态,编译中不起作用的,

Android基础--tools:context=.TestActivity作用相关推荐

  1. Android 基础—— 对Context的理解与使用技巧

    一.Context 基础概念 1.什么是Context 1) Context是一个抽象类,其通用实现在ContextImpl类中. 2) Context:是一个访问application环境全局信息的 ...

  2. android tag的作用,Android中的Context的作用(2)

    ContextImpl关键成员和函数 /** * Common implementation of Context API, which provides the base * context obj ...

  3. Android基础知识点学习总结

    Android基础知识点学习总结 安卓基础知识个人学习笔记分享~ 一.Android系统架构 Linux内核层→系统运行层→应用框架层→应用层 1.Linux内核层:Android系统是基于Linux ...

  4. 1小时学会Android基础

    课件下载 详解 Hello World Activity 一个可视化的界面,独立的窗口,继承来自AppCompatActivity: MainActivity onCreate() setConten ...

  5. android基础 [超级详细android Activity组件解析(Activity综述,Activity生命周期,Activity启动--携带参数启动)]

    1 章节目录 2 Android Activity综述 2.1 Activity怎么用 2.2 layout - 界面布局 2.3 Java - 控制界面 2.4 AndroidManifest.xm ...

  6. Android基础与手机历史

    智能的机操作系统经过多盘厮杀,到现在形成了三足鼎立之势:Android.iOS.Windows phone 8三者一统天下.而其他的诸如Symbian S60, UIQ, Windows Mobile ...

  7. 重学Android基础系列篇(五):Android虚拟机指令

    前言 本系列文章主要是汇总了一下大佬们的技术文章,属于Android基础部分,作为一名合格的安卓开发工程师,咱们肯定要熟练掌握java和android,本期就来说说这些~ [非商业用途,如有侵权,请告 ...

  8. Android基础知识梳理

    文章目录 系统架构 应用层 应用框架层 系统运行库层 硬件抽象层(HAL) Linux内核层 补充 通信方式 Binder IPC原理 Binder原理 Socket handler 主线程中 子线程 ...

  9. Android基础入门教程——2.3.1 TextView(文本框)详解

    Android基础入门教程--2.3.1 TextView(文本框)详解 标签(空格分隔): Android基础入门教程 本节引言: 学习完Android中的六大布局,从本节开始我们来一个个讲解And ...

最新文章

  1. Vim 项目重要维护者去世,Vim 之父以 Vim 9 悼念挚友
  2. SQL server的with的用法(一)
  3. iOS 界面上绘制不同字体 颜色 大小的字符串
  4. VS2017 报错pthread.h头文件提示无法打开找不到
  5. hexo博客常用插件及教程
  6. activemq安全机制
  7. HDU - 3518 Boring counting(后缀数组)
  8. CanFestival应用
  9. 不能见面的情人节,我体验了一次视频相亲
  10. android入门基础笔记,Sqlite数据库下载
  11. DevExpress 破解方式
  12. sw如何缩放装配体_社团内训 | SW从入门到精通
  13. 【数字水印】图像数字水印技术-含Matlab Gui界面-含文档【0100期】
  14. Python调整图片的文件大小
  15. c语言et1什么意思,et cetera是什么意思.如何正确使用 “etc.”
  16. 苹果a7处理器_苹果手机芯片为什么那么强,看看苹果A系列处理器的历史
  17. 做IT的与卖鞋买鞋的对比,欢乐一笑!
  18. html5网页制作实训日志,网页制作实训日志X.doc
  19. 范型方法 范型参数 范型返回值
  20. 《炒股的智慧》--陈江挺

热门文章

  1. python为什么那么难学_Python入门很难吗? 为什么越来越多的人都学Python?
  2. 2.MOC文件解读(上)——MOC文件中的数据
  3. python初学者之网络爬虫_Python初学者之网络爬虫(二)
  4. authc过滤器 shiro_Shiro的web下的使用
  5. code blocks 代码颜色_vuepress中实现代码折叠、高亮
  6. [清华集训2016]石家庄的工人阶级队伍比较坚强——三进制FWT
  7. QTP的那些事--QTP回放iFrame控件时间非常慢的问题分析
  8. 纹理与表面细节添加方法---小结
  9. 进阶必备:素数筛法(欧拉,埃氏筛法)
  10. Python(四)字符串