使用Layouts

   

首选实现layout的方式是以外部资源方式在XML中定义。一个布局XML必须包含单一的根元素。这个根节点可以尽可能的包含layoutsViews来构建任意复杂的界面。

 

下面的XML片段显示了一个简单的layout,其内放置了一个TextView和一个EditText控件,通过LinearLayout配置成垂直布局:

 

<?xml version=”1.0” encoding=”utf-8”?>

<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”

android:orientation=”vertical”

android:layout_width=”fill_parent”

android:layout_height=”fill_parent”>

<TextView

android:layout_width=”fill_parent”

android:layout_height=”wrap_content”

android:text=”Enter Text Below”

/>

<EditText

android:layout_width=”fill_parent”

android:layout_height=”wrap_content”

android:text=”Text Goes Here!”

/>

</LinearLayout>

 

XML中实现layouts能够降低显示层与ViewActivity代码的耦合性。同时,它也允许你创建基于指定硬件变化而动态加载资源的程序,而不需要任何代码变更。

 

即使它是首选的或必须的,你也可以在代码里实现layout。当指定Viewslayouts时,应用LayoutParameters 参数是很重要的,使用setLayoutParams方法或传递它们到addView调用中,如下代码所示:

 

LinearLayout ll = new LinearLayout(this);

ll.setOrientation(LinearLayout.VERTICAL);

 

TextView myTextView = new TextView(this);

EditText myEditText = new EditText(this);

 

myTextView.setText(“Enter Text Below”);

myEditText.setText(“Text Goes Here!”);

 

int lHeight = LinearLayout.LayoutParams.FILL_PARENT;

int lWidth = LinearLayout.LayoutParams.WRAP_CONTENT;

 

ll.addView(myTextView, new LinearLayout.LayoutParams(lHeight, lWidth));

ll.addView(myEditText, new LinearLayout.LayoutParams(lHeight, lWidth));

setContentView(ll);

 

posted on 2009-07-21 22:13  xirihanlin  阅读(1010)  评论(0编辑  收藏  举报