<LinearLayout 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"
android:gravity="center"
android:orientation="vertical"
tools:context="com.bignerdranch.android.geoquiz.CheatActivity">
<TextView
android:id="@+id/answer_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="24dp"
tools:text="Answer"/>
我是编程新手。我从Big Nerd Ranch编程书开始。我遇到了这段代码。在书中,它被声明为:
“此命名空间允许您覆盖窗口小部件上的任何属性 在Android Studio预览中以不同方式显示它的目的。由于TextView具有文本属性, 您可以为它提供文字虚拟值,以帮助您了解它在运行时的外观。该 值“答案”永远不会出现在真正的应用程序中。方便!“
这究竟意味着什么?我是全新的。我知道这是个愚蠢的问题,请帮助我。
答案 0 :(得分:2)
感谢这一行
xmlns:tools="http://schemas.android.com/tools"
您可以在所有XML中使用
tools:text="Answer"
感谢这一行
xmlns:android="http://schemas.android.com/apk/res/android"
您可以在所有XML元素中使用android属性,例如
android:id="@+id/answer_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="24dp"
你正在读的书是一本好书,继续保持不要放弃!
答案 1 :(得分:0)
好。正如我所看到的,这看起来像你的书的作者指的是你的TextView
answer_text_view
被称为TextView
的{{1}}将在代码中动态更改,以便初始值在导出时,您的实际应用程序中将显示TextView answerTextView = (TextView) findViewById(R.id.answer_text_view);
answerTextView.setText("some text");
。
TextValue
此代码会更改代码中TextView
的{{1}}。您必须将xml-attribute
(tools:text
)想象为xml-preview
的参考。此属性不会影响应用程序中的文本,因为该属性的属性为android:text
。在这种情况下,您甚至可以使用android:text
,因为它会在以后动态更改。 android:text
属性为您执行textView.setText()
,而tools:text
只会在预览中显示它。
答案 2 :(得分:0)
Tools
基本上是您可以添加到TextView
的额外属性的集合,可以在Android Studio中设计布局时为您提供帮助。在此特定示例中,tools:text
允许您将假值放入TextView
,这只会出现在Android Studio的布局预览中。
这将允许您在Android Studio中设计布局时查看TextView
的外观,但在构建“真实”版本时,您不必担心从布局中删除虚拟文本用于手机的应用程序。