Как анимировать свойство веса TextView - PullRequest
0 голосов
/ 01 октября 2011

У меня есть TextView, и я хочу изменить его размер, поэтому я использую его свойство layout_weight. Когда я установил его:
textView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, 0, newWeight));
Это работает хорошо. Тем не менее, я хочу оживить изменения. Могу ли я сделать это (без использования потока, который будет время от времени изменять его), используя классы анимации?

Ответы [ 2 ]

1 голос
/ 01 октября 2011

Анимация свойств возможна только в сотах на данный момент.Способ справиться с вашим требованием - использовать масштабную анимацию.Сложная задача - рассчитать масштабный коэффициент.Но это должно быть возможно.Вы можете добавить анимацию масштаба к вашему виду.А если вы добавите прослушиватель анимации к объекту анимации, вы можете установить параметры макета для конечного события анимации, чтобы представление фактически изменило размеры.

0 голосов
/ 01 октября 2011

Нет, вы не можете изменить вес вида с помощью анимации Android.Вы можете использовать Handler, чтобы выполнить событие postDelayed, в котором вес представления можно изменить до определенного предела.

Handler hdlr = new Handler() {
    onMessage(Message msg) {

    }
};

hndlr.postDelayed(new Runnable() {
     void run() {
         // change the weight and post another delayed messge if required.
     }
};
...