我们在Andriod学习笔记(三):Andriod程序框架,中对main.xml文件进行了初步的了解,这本次,我们将初步学习Activity和main.xml的关系。
虽然我们可以使用java code来编写UI,但是更通用的方式是使用XML-based Layout文件,它用于描述widget和container之间的关系。这使得我们可以方便阅读和是UI设计独立,也使得一些IDE工具可以提供直观的GUI。
1、修订main.xml
<!-- 线性布局,从上到下,方向由orientation的方向确定 fill_parent即填充其父控件,这里就是全屏。--> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <!-- 如果在Java source code中对此widget有由代码,需提供id,andriod:id="@+id/<name>",在R.java上有对应的代码,对应为R.id.<name>, 在这个例子中我们在R.java中查到:R.id.myTextView=0x7f040000,我们可以通过name,在程序中对应这个空间。--> <TextView android:id="@+id/myTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <!-- 增加一个新的控件button,Button:是widget的名字,如果我们定义我们自己的widget(是andriod.view.View的子类),我们需要给出完整的包路径,例如com.wei.andriod.MyWidget)。--> <Button android:id="@+id/myButton" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
2、在源代码中,通过我们在xml中定义的名字来获取该实例
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //R.layout.main,就是在R.java中的R类定义的layout中main,格式为:R.layout.<layout的xml文件名字>,就是对应的res/layout/main.xml文件。 setContentView(R.layout.main); TextView myTextView = (TextView) findViewById(R.id.myTextView); myTextView.setText("我的Activity"); Button myButton = (Button) findViewById(R.id.myButton); myButton.setText("我的按钮"); }
3、运行,如图所示。
相关链接: 我的Android开发相关文章