在Android开发过程中,我们在写布局文件时会经常使用xml布局文件的Design视图,查看当前布局效果。
布局中经常会用到TextView控件,为了看效果,我们总是会定义text属性,如下:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="测试数据"/>
然而大多数情况下,这个控件的内容是通过java代码去动态设置的,而非写死在布局文件中的。为了方便查看布局效果,而且不必担心会影响运行后的效果,可以引入tools命名空间。tools命名空间中的属性跟android命名空间基本一样。比如如下代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="horizontal"
android:background="@color/white">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="测试tools命名空间:"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="测试文字,正式运行时不显示"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="测试按钮"
android:visibility="gone"
tools:visibility="visible"/>
</LinearLayout>
Design查看效果如下:
运行到手机上的效果如下:
如上:
tools命名空间的作用就是不改变代码逻辑,可以方便查看布局效果的,在项目研发中起着非常重要的作用。