【问题标题】:How to animate TextView's weight property如何为 TextView 的权重属性设置动画
【发布时间】:2011-10-01 11:13:41
【问题描述】:

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

【问题讨论】:

    标签: android android-linearlayout android-animation


    【解决方案1】:

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

    【讨论】:

    • 在我有的时间限制内,这太多了……我会留到项目的缓冲时间(==可能不会发生)。还是谢谢!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 1970-01-01
      相关资源
      最近更新 更多