如何以编程方式向RelativeLayout添加视图?

你能给我一个非常简单的例子,在给定的位置以编程方式向RelativeLayout添加子视图吗?

例如,要反映以下XML:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="107dp" android:layout_marginTop="103dp" android:text="Large Text" android:textAppearance="?android:attr/textAppearanceLarge" /> 

我不明白如何创build一个合适的RelativeLayout.LayoutParams实例。

下面是一个例子让你开始,其余的填写适当的:

 TextView tv = new TextView(mContext); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE); params.leftMargin = 107 ... mRelativeLayout.addView(tv, params); 

RelativeLayout.LayoutParams和构造函数的文档在这里

首先,你应该给你的RelativeLayout一个id,让我们说relativeLayout1。

 RelativeLayout mainLayout = (RelativeLayout) findViewById(R.id.relativeLayout1); TextView mTextView = new TextView(context); mTextView.setText("Dynamic TextView"); mTextView.setId(111); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE); params.addRule(RelativeLayout.ALIGN_PARENT_TOP, RelativeLayout.TRUE); mainLayout.addView(mTextView, params);