Android开发中的tools命名空间的使用

来源:互联网 发布:php程序设计是做什么的 编辑:程序博客网 时间:2024/04/29 19:14

Android

在Android布局文件中,经常看到 xmlns:tools=”http://schemas.android.com/tools”,一直不知道有什么用,直到看到这篇博客,看到了tools的强大功能。

在布局文件中使用tools命名空间

Android Studio 布局文件中导入tools命名空间
输入toolsNs,点击TAB

Android Studio 布局文件中导入tools命名空间

这样就可以使用tools命名空间了

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent">

Tools能干什么

  • 设计时可以用 tools 覆盖所有已存在于 android 命名空间中的属性(无法覆盖自定义属性)
  • 提供了一些特有的 tools 属性

设计时用Tools设置默认值

用Tools设置默认值

预览里没有变化,看看运行效果吧:
用Tools设置默认值

用tools设置的默认值,只在预览时有用,不会影响运行时

设计时用Tools覆盖默认值

在TextView中写了一大段描述文本:
用Tools设置默认值

现在想要看看短描述的显示效果,该怎么做?
删除文本重新写?
先复制进剪切板,看完效果再粘贴回来?

还是用Tools覆盖默认值吧:
用Tools设置默认值

Tools其他属性

  • tools:context

这个属性通常设置在布局的XML文件的根元素,用来记录这个布局和哪个Activity相关。
这样在布局文件中,按住Ctrl+点击鼠标左键,可以定位到相关的Activity。

用Tools设置默认值


  • tools:layout

这个属性通常设置在 fragment 标签,用于在布局时预览fragment布局文件的预览图。

这是一个Fragment:
这是一个Fragment

在布局文件中加上这个Fragment,没有预览图:
布局文件中加上这个Fragment

使用tools:layout给指定布局文件:
指定布局文件


  • tools:showIn

这个属性设置在被别的布局引用的布局里。允许你指定一个布局包裹此布局,在设计时这个指定布局将显示在此布局的外面。

新建一个布局文件 include_test.xml :
这是一个Fragment

在另一个布局文件中include这个布局:
这是一个Fragment

在 include_test.xml 使用 tools:showIn 指定引入该布局文件的布局:
这是一个Fragment


  • tools:listitem / listheader / listfooter

可以给ListView (或者其他 AdapterView 像 GridView, ExpandableListView 等) 设置列表项、HeaderView和FooterView

ListView默认预览:
ListView默认预览

ListView指定列表项:
ListView指定列表项

ListView添加Header:
ListView添加Header

这里列举了常用的Tools命名空间用法,如果想详细了解相关内容可以去官网查看。


1 0
原创粉丝点击