我有一个EditText,我使用这个xml将其从100%缩放到80%:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<scale
android:duration="400"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="0%"
android:pivotY="0%"
android:toXScale="0.8"
android:toYScale="1.0" >
</scale>
</set>
在此之后我的文字也缩放了。 如何在不缩放文本的情况下使用动画缩放/更改EditText宽度。关心所有人。
答案 0 :(得分:3)
我找到了答案。这是:
public class ResizeWidthAnimation extends Animation
{
private int mWidth;
private int mStartWidth;
private View mView;
public ResizeWidthAnimation(View view, int width)
{
mView = view;
mWidth = width;
mStartWidth = view.getWidth();
}
@Override
protected void applyTransformation(float interpolatedTime, Transformation t)
{
int newWidth = mStartWidth + (int) ((mWidth - mStartWidth) * interpolatedTime);
mView.getLayoutParams().width = newWidth;
mView.requestLayout();
}
@Override
public void initialize(int width, int height, int parentWidth, int parentHeight)
{
super.initialize(width, height, parentWidth, parentHeight);
}
@Override
public boolean willChangeBounds()
{
return true;
}
}
并且这样称呼它:
ResizeWidthAnimation anim = new ResizeWidthAnimation(editTextSearch, 500);
anim.setDuration(400);
editTextSearch.startAnimation(anim);
答案 1 :(得分:0)
您可以尝试在布局中执行此操作:
android:animateLayoutChanges="true"