背景色が赤から青に変わるような画面を作成したいと考えています。何らかの理由で、ValueAnimatorをインスタンス化しようとすると常にクラッシュします。私は私のコードで間違って何見当がつかないValueAnimatorで背景色を変更する
はありがとう
Animationクラス
public BackgroundAnimation(Context context){
super(context);
ValueAnimator colorAnim = ObjectAnimator.ofInt(R.anim.animator, "backgroundColor", Color.RED, Color.BLUE);
colorAnim.setDuration(3000);
colorAnim.setEvaluator(new ArgbEvaluator());
colorAnim.setRepeatCount(ValueAnimator.INFINITE);
colorAnim.setRepeatMode(ValueAnimator.REVERSE);
colorAnim.start();
}
animator.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<objectAnimator
android:propertyName="backgroundColor"/>
</set>
メインクラス
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.menu);
LinearLayout container = (LinearLayout) findViewById(R.id.container);
container.addView(new BackgroundAnimation(this));
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/TextView01"
android:gravity="center"
android:textSize="20sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/TextView02"
android:gravity="center"
android:textSize="20sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<ImageView
android:id="@+id/ImageView01"
android:layout_width="fill_parent"
android:layout_height="300sp"/>
</LinearLayout>
この部分はうまくいきます。クラッシュはラインで発生します ValueAnimator colorAnim = ObjectAnimator.ofInt(R.anim.animator、 "backgroundColor"、Color.RED、Color.BLUE); – Hazaart
正常に動作していますか?あなたのログを表示できますか? – goodm
私の携帯電話でどのようにデバッグするのか分かりません。私は値のアニメーターに関する6行をコメントアウトしてから、メイン画面が正常に表示されました。上記の行のコメントを外すと、クラッシュします。 – Hazaart