в относительной компоновке вы устанавливаете первое текстовое представление и назначаете ему некоторый идентификатор для следующего текстового представления, мы можем назначить параметр android: layout_below = "id вышеупомянутого текстового представления" таким образом мы получаем 2-е текстовое представление ниже 1-го текстового представления

рудно заставить два текстовых представления появляться поверх друг друга в моем коде Java. Вот код, с которым я экспериментирую:

/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);

        layout = new RelativeLayout(this);
        text1 = new TextView(this);
        text1.setText("1");
        text2 = new TextView(this);
        text2.setText("2");

        RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
                ViewGroup.LayoutParams.WRAP_CONTENT);
        RelativeLayout.LayoutParams q = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
                ViewGroup.LayoutParams.WRAP_CONTENT);

        q.addRule(RelativeLayout.BELOW, layout.getId());
        text1.setLayoutParams(q);
        layout.addView(text1);


        p.addRule(RelativeLayout.BELOW,text1.getId());
        text2.setLayoutParams(p);
        layout.addView(text2);

        setContentView(layout);
    }

Это объединяет два текстовых представления в одной строке, но я хочу, чтобы TextView text2 отображался ниже TextView text1, поэтому в моем приложении я хочу, чтобы в качестве вывода отображалось следующее:

1
2

Я пробовал все с помощью метода "addRule", я не уверен, почему это не работает. Я хочу знать, как сделать это без XML, потому что я планирую создать библиотеку методов, которые могут создавать макет, который легко настраивается путем редактирования массива.