Программно связать позицию RelativeLayout с другими, уже определенными в xml

1

В моем xml у меня есть:

<RelativeLayout
    android:id="@+id/mainWeek"
    android:layout_height="387dip"
    android:layout_width="match_parent"
    android:layout_marginTop="5dip">
    <RelativeLayout
        android:id="@+id/day1"
        android:layout_marginTop="5dip"
        android:layout_marginLeft="5dip"
        android:layout_marginRight="5dip"
        android:layout_height="50dip"
        android:layout_width="match_parent">
        ...
    </RelativeLayout>
</RelativeLayout>

в коде я хочу что-то вроде:

    RelativeLayout layout = new RelativeLayout(this);
    RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(
            RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
    rlp.addRule(RelativeLayout.BELOW, R.id.day1);
    rlp.addRule(RelativeLayout.ALIGN_LEFT, R.id.day1);

    TextView tv1 = new TextView(this);
    tv1.setText("A");
    layout.addView(tv1);

    this.addContentView(layout, rlp);

но "макет" и его "tv1" отображаются в верхней части экрана, а не ниже "day1". Что я делаю не так? благодаря

Теги:
relativelayout
android-layout

1 ответ

0
Лучший ответ

Возможно, вам действительно нужно добавить представление layout в RelativeLayout идентифицированное id mainWeek:

RelativeLayout mainWeek = (RelativeLayout) findViewById(R.id.mainWeek);
//Build the layout view object

mainWeek.addView(layout, rlp);

С помощью метода addContentView() (я думаю) вы добавляете вид макета непосредственно в главное окно.

  • 0
    Спасибо, что сработало как я хотел

Ещё вопросы

Сообщество Overcoder
Наверх
Меню