如何为TextView的权重属性设置动画

时间:2011-10-01 11:13:41

标签: android android-linearlayout android-animation

我有一个TextView,我想改变它的大小,所以我使用它的layout_weight属性。当我设置它时:
textView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, 0, newWeight));
它运作良好。但是,我想为变化制作动画。我可以这样做(不使用会一直改变它的线程),使用动画类吗?

2 个答案:

答案 0 :(得分:1)

截至目前,属性动画仅适用于Honeycomb。处理您的要求的一种方法是使用缩放动画。棘手的部分是计算比例因子。但它应该是可能的。您可以将缩放动画添加到视图中。如果将动画侦听器添加到动画对象,则可以在动画结束事件上设置布局参数,以便视图实际重新调整大小。

答案 1 :(得分:0)

不,您无法使用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.
     }
};