Вопрос по android, android-layout – Как программно добавить представление в RelativeLayout?

56

Можете ли вы дать мне очень простой пример добавления дочернего представления программно кRelativeLayout в данной позиции?

Например, чтобы отразить следующий XML:

<code><?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" />
</code>

Я не понимаю, как создать соответствующийRelativeLayout.LayoutParams пример.

Ваш Ответ

2   ответа
96

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 и конструкторыВот

Error: User Rate Limit ExceededRelativeLayout.LayoutParamsError: User Rate Limit ExceededContextError: User Rate Limit Exceeded Suzan Cioc
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Suzan Cioc
Error: User Rate Limit Exceeded
28

вы должны дать идентификатор вашему RelativeLayout, скажем, относительныйLayout1.

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);
Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededR.id.relativeLayout1Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededRelativeLayout.LayoutParamsError: User Rate Limit Exceededdeveloper.android.com/reference/android/widget/…Error: User Rate Limit ExceededContextError: User Rate Limit Exceeded Suzan Cioc
Error: User Rate Limit Exceededdeveloper.android.com/reference/android/widget/…Error: User Rate Limit Exceeded

Похожие вопросы