1

でプロパティ アニメーションを作成しようとしていImageButtonます。ボタンをクリックするとアニメーションが開始されますが、private static class ImageButtonAnimatorHelperメソッドでエラーが表示されます。

public class MainActivity extends Activity {

  // ImageButton jackfruit = (ImageButton) findViewById(R.id.btnjackfruit);

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button but = (Button) findViewById(R.id.btn);
    but.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        ball();

      }

      public void ball() {
        ImageButton ball = (ImageButton) findViewById(R.id.btnball);

        ball.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(final View v) {
            // ImageButton b = (ImageButton) findViewById(R.id.btnball);
            ImageView banan = (ImageView) findViewById(R.id.banana);
            banan.setVisibility(View.VISIBLE);

          } // onClick

        }); // setOnClickListener

        ObjectAnimator horizontalAnimator = ObjectAnimator.ofInt(
            new ImageButtonAnimatorHelper(ball), "marginLeft", 0, 600);

        horizontalAnimator.setDuration(2000);
        horizontalAnimator.setRepeatCount(ValueAnimator.INFINITE);
        horizontalAnimator.setRepeatMode(ValueAnimator.REVERSE);
        horizontalAnimator.setInterpolator(new LinearInterpolator());

        horizontalAnimator.start();
      } // onCreate

      private static class ImageButtonAnimatorHelper {

        ImageButton ballButton;

        public ImageButtonAnimatorHelper(ImageButton imagebutton) {
          ballButton = imagebutton;
        }

        public void setMarginLeft(int margin) {
          ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) ballButton
              .getLayoutParams();

          params.leftMargin = margin;

          ballButton.setLayoutParams(params);
        } // setMarginLeft
      } // ImageButtonAnimatorHelper

    });
  }

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
  }
}

private//クラスをいつ使用するpublicか混乱しています..abstract

4

0 に答える 0