в относительной компоновке вы устанавливаете первое текстовое представление и назначаете ему некоторый идентификатор для следующего текстового представления, мы можем назначить параметр 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, потому что я планирую создать библиотеку методов, которые могут создавать макет, который легко настраивается путем редактирования массива.