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;
}

Button で単純な 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

このように使う

フォルダー内にxmlを作成し/res/anim、以下のコードを入れます。

<?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>

以下のコードを Java ファイル内に配置します。

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

logoanimation私のアニメーションxmlファイルの名前です。

詳細については、このチュートリアルを参照してください

于 2013-06-05T04:35:29.170 に答える