簡単なボタン移動アニメーションを作りました。しかし、ボタンの翻訳アニメーションを終了した後、ボタンのフォーカスがボタンと一緒に移動しませんでした。ピントは元の位置のままです。
ボタンでフォーカスを移動するには?SDK API レベルは 15 です。
コードは次のようになります。
package com.example.test;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
public class MainActivity extends Activity {
private Button mButton;
private Animation mButtonAnimation;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButton = (Button) findViewById(R.id.button1);
mButton.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
mButtonAnimation.setFillAfter(true);
mButton.startAnimation(mButtonAnimation);
}
});
mButtonAnimation = AnimationUtils.loadAnimation(this, R.anim.button_anim);
}
}
レイアウト:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/button1"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Button" />
</RelativeLayout>
button_anim.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="500"
android:fromYDelta="0"
android:interpolator="@android:anim/linear_interpolator"
android:toYDelta="100" />
</set>