Как установить отрицательную процентную маржу в PercentRelativeLayout?
Мне нужно установить отрицательную маржу в PercentRelativeLayout, но когда я пробую это в xml следующим образом, это не работает.
Приложение:layout_marginTopPercent="-10%"
Я попытался установить отрицательное поле программно, когда родительский показатель измерен, но PercentRelativeLayout сохраняет свои дочерние объекты LayoutParams и отменяет любые изменения, сделанные в них.
Установка отрицательной маржи в dp работает следующим образом, но мне абсолютно необходимо дать отрицательную маржу относительно родительского размера.
андроид:layout_margin="-10dp"
Как я могу это сделать, какие-либо идеи?
2 ответа
Я закончил перевод представления с отрицательным значением в зависимости от размера родителя при измерении родителя. Это не твердые решения, но это работает в моем случае.
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
float marginTop = h / -10.0f;
child.setTranslationY(marginTop);
}
PercentRelativeLayout, используя -1.0f в качестве значения по умолчанию для полей, а Помощник устанавливает только значение>= 0.0f. Не обязательно использовать этот макет в вашем случае; Вы можете установить marginTopPercent на -1.0f и поместить значение в java с MarginLayoutParams самостоятельно