Я хочу выровнять TextView
над EditText
. Следующий код работает хорошо, когда TextView
не превышает расстояние между верхним полем (красная линия) и EditText (зеленая линия), как на снимке экрана.Выровнять TextView над EditText
Проблема возникает, когда TextView имеет больше строк, чем на скриншоте: он просто «переполняет» EditText, но я хочу сохранить EditText на переднем плане.
Другими словами: я хотел бы поместить нижнее поле TextView на зеленую линию и позволить ему расти в направлении красной линии, чтобы сохранить видимость EditText.
// LINEAR LAYOUT
LinearLayout layout = new LinearLayout(getApplicationContext());
layout.setOrientation(LinearLayout.VERTICAL);
setContentView(layout);
// TEXTVIEW
// how to set bottom margins programmatically?
layout.addView(tv);
// EDITTEXT
// place the EditText to the bottom of the layout, working well
et.setGravity(Gravity.BOTTOM);
et.setInputType(InputType.TYPE_CLASS_TEXT);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
params.gravity = Gravity.BOTTOM;
et.setLayoutParams(params);
layout.addView(et);
поля вводятся в 'params' – njzk2
Попробуйте установить высоту TextView в 0dp и вес в 1. – Peregreen