Ответ 1
Ответ: да, они работают, возможно, не для того, что вы ожидаете - например, описание для setFillAfter(boolean fillAfter)
говорит
Если fillAfter истинно, преобразование, что эта анимация Выполнение будет сохраняться, когда оно закончил.
и когда он установлен в true, он делает это.
Однако, неинтуитивно анимация на Android фактически не олицетворяет сам вид View, а скорее анимирует растровое представление представления.
Вероятно, проблема заключается в том, что после анимации представление возвращается к тому, как было до анимации - setFillAfter
и setFillBefore
не может помочь вам в этом, потому что в этой ситуации вы действительно хотите сделать устанавливает свойства представления таким же, как и анимированное представление (они являются отдельными вещами), а setFillAfter
и setFillBefore
применяются только к свойствам анимации, а не к свойствам вида.
Причина, по которой они существуют, - это объединение анимаций. Предположим, у вас была трансляционная анимация, а затем исчезновение. Если вы не установили setFillAfter(true)
в анимацию перевода, тогда View переведет, вернется к исходной позиции и затем исчезнет. С setFillAfter(true)
, установленным в анимации трансляции, вид будет перемещаться, а затем исчезать на его текущем месте.