我们建立的Hello,World里,那个TextView有个属性:tools:context=".MainActivity_Strange"。其中,MainActivity_Strange是这个main activity的名字。我的疑问是,这个tools:context属性有什么意义?拿掉好像也没什么影响哦。此外,新建的布局文件中,无论是RelativeLayout,还是LinearLayout。都有一个属性:xmlns:tools="http://schemas.android.com/tools". 这个属性有什么意义?拿掉好像也没什么影响。谢谢指点!

解决方案 »

  1. 这里有说,但E语不好,看得不是很懂
    http://stackoverflow.com/questions/15368386/what-is-the-meaning-of-xmlnstools-in-android-xml-layout
      

  2. 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的样子。仅用于给你看所见即所得的效果而已。
    http://www.mythroad.net/2013/01/08/toolscontext-mainactivity%E4%B8%8Exmlnstools%E5%90%8D%E5%AD%97%E7%A9%BA%E9%97%B4/
      

  3. http://stackoverflow.com/questions/11078487/whats-toolscontext-in-android-layout-files,这个也不错,E问不懂,用网页翻译一下
      

类似问题 »