2016-01-22 98 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