我们在 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开发相关文章