У меня есть TextView (ширина: fill_parent) в RelativeLayout, который я хочу убедиться, что он находится под двумя представлениями над ним, которые расположены рядом, с динамической шириной и высотой. Это означает, что иногда вид слева выше, а иногда выше вид справа.
Я попытался установить два параметра «ниже», но это, конечно, не разрешено. Я попытался изменить его с помощью кода (с XML, установленным ниже txt TextView, а img - ImageView рядом с ним):
if (txt.getHeight() + txt.getTop() < img.getHeight() + img.getTop()) {
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.BELOW, R.id.image);
txtDetails.setLayoutParams(params);
}
(txtDetails — это то, что я хочу под обоими представлениями).
Когда это не сработало (ничего не изменилось), я поместил txtDetails в свой собственный RelativeLayout под RelativeLayout, в котором размещались оба представления, и это сработало. Однако я считаю, что RL должен быть в состоянии справиться с этой ситуацией, не создавая новый RL. Является ли это возможным? Или как лучше расположить этот вид?
Спасибо