2

这里是xml文件:</p>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="150dp"
android:layout_height="match_parent">

<Button
   android:id="@+id/textview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world" />

这是java代码

private Button text;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    text = (Button)findViewById(R.id.textview);
    text.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            text.startAnimation(getScaleAnimation());

        }
    });
}

    private ScaleAnimation getScaleAnimation(){
    ScaleAnimation animation = new ScaleAnimation(1f,1.2f,1f,1.2f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
    animation.setDuration(1000);
    animation.setFillAfter(true);
    return animation;
}

我在一个按钮上执行一个简单的 ScaleAnimation。有什么方法可以获得动画视图吗?

4

2 回答 2

3

只需打开anim文件夹内的res文件夹。创建一个xml文件。然后你需要创建set标签。在其中,您可以创建scale标签。

这是一个例子:

<?xml version="1.0" encoding="utf-8"?>
<set  xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator">

<scale  
    android:fromXScale="0.5"
    android:toXScale="2"
    android:fromYScale="0.5"
    android:toYScale="2"
    android:pivotX="50%"
    android:pivotY="50%"
    android:duration="5000"

    />

</set>

注意:不要忘记包括xmlns:android声明。

现在,在onCreate方法内部或任何您想要的地方,只需输入以下内容。单击按钮时,我正在为按钮本身设置动画(缩放):

    Button but = (Button) findViewById(R.id.button1);
    but.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Animation anim = AnimationUtils.loadAnimation(AnimationActivity.this, R.anim.animation);
            but.startAnimation(anim);
    }
});

编辑: 如果您想在缩放时旋转它,您可以在文件中放入以下内容xml

<rotate 
    android:fromDegrees="0"
    android:toDegrees="360"
    android:pivotX="50%"
    android:pivotY="50%"
    android:duration="5000"
    />

希望这可以帮助。

于 2013-06-05T04:37:17.560 回答
0

Use this way

Create an xml inside /res/anim folder and put the below code into it.

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="schemas.android.com/apk/res/android"
              android:interpolator="@android:anim/linear_interpolator">

       <scale android:fromXScale="0.0" android:fromYScale="0.0"
              android:toXScale="1.0" android:toYScale="1.0" 
              android:duration="700" android:fillBefore="false" />

</set>

Place the below code inside the java file:

Animation scaleAnimation 
           = AnimationUtils.loadAnimation(this, R.anim.logoanimation); 
Btn.startAnimation(scaleAnimation);

logoanimation is the name of my animation xml file.

for more refer this tutorial

于 2013-06-05T04:35:29.170 回答