2012-11-21 35 views
0

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

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

回答

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"/> 
0

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

有问题的文章中这样说,如果你想为刚TextView元素的单独视图,那么你很可能需要另一个XML文件来定义视图如果您不希望以编程方式指定。

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

它非常灵活,总之要回答你的问题没有,你不需要生成一个新的XML视图文件,你可以简单地添加TextView现有视图文件,或在运行时指定。