我发现了一些适用于编辑文本动画的代码,但它提供了一个更清晰的代码,可以使用它。动画res文件,但对我来说它不起作用。 Anims.this导致代码错误,我无法弄清楚原因。在线搜索该问题并不能解决任何问题,因为它看起来像其他人没有,并且特别是这样或者这个问题。
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
EditText mSearch;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//finding View
mSearch = findViewById(R.id.search);
}
public void onEdit(View view) {
Animation anim = AnimationUtils.loadAnimation(Anims.this, R.anim.edittext_scale);
mSearch.startAnimation(anim);
}
}
答案 0 :(得分:1)
根据loadAnimation
方法的资源
public static Animation loadAnimation(Context context,int id) {}
所以第一个参数是Context
。在您的代码中,Context
是MainActivity
。因此,您应该使用MainActivity
代替Anims
。
更改
public void onEdit(View view) {
Animation anim = AnimationUtils.loadAnimation(Anims.this, R.anim.edittext_scale);
mSearch.startAnimation(anim);
}
到
public void onEdit(View view) {
Animation anim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.edittext_scale);
mSearch.startAnimation(anim);
}