0

我对 Android 应用程序编程完全陌生,我正在阅读 Google 的教程:http: //developer.android.com/training/basics/firstapp/starting-activity.html

在此页面上,在“显示消息”部分下,他们创建TextView对象,并使用setContentViewtextView对象作为参数,以显示一些文本。我想知道,如果我理解正确,而不是TextView在代码中创建对象,你可以用 XML 来定义它吗?如果您在 XML 中定义它,是否需要您在 main_activity.xml 之外创建一个新的 XML 文件?谢谢。

4

2 回答 2

1

您可以在 xml 中声明所有布局和视图。对于给定的示例,代码如下所示

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Set your parent view
    setContentView(R.layout.main_layout);

    // Get the message from the intent
    Intent intent = getIntent();
    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

    // Get the reference to the TextView and update it's content
    TextView textView = (TextView)findViewById(R.id.my_text_view);
    textView.setText(message);
}

你的 main_layout.xml 看起来像

<?xml version="1.0" encoding="utf-8"?>
<TextView  xmlns:android="http://schemas.android.com/apk/res/android"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:textSize="40sp"
           android:id="@+id/my_text_view"/>
于 2012-11-21T01:57:17.180 回答
0

您可以任意创建视图文件(XML 文件)并指定视图的主要类型及其包含的子视图。您可以TextView在 main_activity.xml 视图中创建元素并通过相对 ID 找到它。

如果您只想为元素有一个单独的视图,那么在相关文章中已经说过,如果您不想以TextView编程方式指定它,您可能需要另一个 XML 文件来定义该视图。

在标准应用程序中,您可能会有一个预定义的视图(XML 文件),您将把它设置为内容视图并从中引用元素(以及可能添加新元素)。

它非常灵活,简而言之,回答您的问题不,您不需要生成新的 XML 视图文件,您可以简单地将 a 添加TextView到现有视图文件或在运行时指定它。

于 2012-11-21T01:54:07.440 回答