2016-06-19 2 views
0

В настоящее время я пытаюсь создать приложение визуализации структуры данных. Структура данных, которую я пытаюсь сделать, представляет собой стек.Android Relative Layout поверх другого элемента

Я пытаюсь сделать элемент поверх другого, как только пользователь нажимает «Push». Ниже приведен код, который заставляет элемент перемещаться в нижней части экрана.

Мне было интересно, есть ли какие-либо методы, которые могли бы напрямую указывать следующий элемент, который будет выровнен с элементом, который уже находится внизу?

public void moveElem() { 

    element1 = findViewById(R.id.element1); 

    RelativeLayout.LayoutParams positionRules = new RelativeLayout.LayoutParams(
      RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
    positionRules.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
    positionRules.addRule(RelativeLayout.CENTER_HORIZONTAL); 
    element1.setLayoutParams(positionRules); 

    ViewGroup.LayoutParams sizeRules = element1.getLayoutParams(); 
    sizeRules.width = 400; 
    sizeRules.height = 200; 
    element1.setLayoutParams(sizeRules); 
} 

Спасибо всем большое!

+0

обновление ** Я пробовал это, но он непосредственно накладывается поверх первого элемента positionRules.addRule (RelativeLayout.ALIGN_TOP, element1.getId()); – hwhong

ответ

0

Использование ALIGN_TOP и ALIGN_LEFT/ALIGN_RIGHT зависит от того, что вам нужно, поэтому он сделает следующий элемент тем же самым выравниванием, что и предыдущий элемент, и просто добавит поля для следующего элемента, так что он не будет точно на вершине последний соответствует тому, что вам нужно, чтобы он выглядел как стек.

Смежные вопросы