действие кнопки не работает после поворота - PullRequest
2 голосов
/ 04 марта 2012

У меня есть относительный макет с какой-то кнопкой, и я создал анимацию вращения, чтобы повернуть его

но когда я поворачиваю его, действие кнопки не работает должным образом, действие кнопки все еще сохраняет прежнее положение кнопки до вращения

Может кто-нибудь, пожалуйста, помогите мне исправить это

    <ImageButton
        android:id="@+id/last20"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="75dp"
        android:background="@null"
        android:src="@drawable/last20_selector" 
        android:onClick="last20OnClick"/>

super.onCreate(savedInstanceState);
    setContentView(R.layout.wheel);

    RelativeLayout layout =  (RelativeLayout) findViewById(R.id.wheelLayout);

    RotateAnimation rotateAnim = new RotateAnimation(0, 45,
            Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,
            0.5f);

    rotateAnim.setDuration(1000);
    rotateAnim.setRepeatCount(0);
    rotateAnim.setFillAfter(true);
    layout.startAnimation(rotateAnim);
}

public void last20OnClick(View view) {
        System.out.println("last20OnClick");
    }

Ответы [ 2 ]

0 голосов
/ 04 марта 2012

Попробуйте установить атрибуты:

android:fillAfter="false"
android:fillBefore="false"

или в Java:

rotateAnim.setFillAfter(false);
rotateAnim.setFillBefore(false);

как предложено в этом вопросе . Это помогло мне. Также, чтобы сохранить анимацию, поверните от -45 до 0 градусов.

0 голосов
/ 04 марта 2012

Где в вашем коде вы устанавливаете OnClickListener?Попробуйте поместить слушателя в вас onCreate метод:

findViewById(R.id.last20).setOnClickListener(new OnClickListener() {

    public abstract void onClick (View v) {
        last20OnClick(v);
    }
});

Надеюсь, он вам поможет!

...