2016-01-22 71 views
1

有人可以让我知道如何为图像按钮设置动画,使高度增加吗? 我读过的任何示例都会缩放按钮的高度。 我只是想点击底部的顶部增加高度。我不希望按钮位置移动,只需点击按钮,高度就会增加。 继承人我的代码Android动画增加ImageButton的高度

<ImageButton 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/buttton" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="66dp" 
    android:src="@drawable/iman" 
    android:maxHeight="50dp" 
    android:minHeight="50dp" /> 

findViewById(R.id.buttton).setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Animator scale = ObjectAnimator.ofPropertyValuesHolder(v, 
        PropertyValuesHolder.ofFloat(View.SCALE_Y, 1,    1.5f, 1) 
      ); 
      scale.setDuration(1000); 
      scale.start(); 
     } 
    }); 

感谢 克里斯

+0

您可以发布您的布局文件,其中包含此按钮 –

回答

0

U可以achive你这样的效果:

final Button button = (Button) findViewById(R.id.btn); 
button.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(final View v) { 
     v.startAnimation(new Animation() { 
      private int mStartHeight; 
      private int mEndHeight; 

      @Override 
      public void initialize(final int width, final int height, final int parentWidth, final int parentHeight) { 
       mStartHeight = v.getMeasuredHeight(); 
       mEndHeight = 600; 

       setDuration(300); 
      } 

      @Override 
      protected void applyTransformation(final float interpolatedTime, final Transformation t) { 
       v.getLayoutParams().height = (int) (mStartHeight + (interpolatedTime * (mEndHeight - mStartHeight))); 
       v.requestLayout(); 
      } 
     }); 
    } 
}); 
+0

谢谢您的回答@ BasilMiller 但是,这并没有给我所期望的影响。这与缩放基本相同。按钮的高度在顶部和底部增加。 我只是在寻找按钮的顶部来增加高度而已。 换句话说,按钮底部的xposition不应该增加。只有按钮的顶部应该展开? – Chris

+0

如果我使用view.settop,这会给我预期的效果。 那么我怎样才能将它实现成动画呢? – Chris

+0

尝试align_bottom您的视图和高度将被测量到顶部。 – GIGAMOLE