1

ダイアログ用のカスタム エンター アニメーションを作成しました。

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"
    android:toDegrees="360"
    android:pivotX="50%"
    android:pivotY="50%"
    android:duration="5000" />

ダイアログは中心を中心に回転するはずですが、そうではありません。他の点を中心に回転します。ここで何が問題なのですか?

--- 編集: 追加のコード ---

ダイアログの作成:

Dialog dialog = new Dialog(SampleActivity.this, R.style.DialogStyle);
dialog.setContentView(R.layout.test_layout);
dialog.show();

スタイル.xml:

<style name="DialogStyle" parent="android:Theme.Dialog">
  <item name="android:windowAnimationStyle">@style/DialogAnimation</item>
</style>

<style name="DialogAnimation">
  <item name="android:windowEnterAnimation">@anim/dialog_enter</item>
</style>

test_layout.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="270dip"
    android:layout_height="wrap_content">
        <TextView android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Random text\nRandom text\nRandom text" />
</LinearLayout>
4

1 に答える 1

0

これは暗闇の中の刺し傷ですが、私が考えているのは、アニメーション コードが開始位置と終了位置が同じであることを認識しているため、実際には回転しないということです (ただし、これを行ったことがないため、よくわかりません)。 .

android:toDegreesに変更することで、この仮説をテストし"180"て、それが機能するかどうかを確認できます。その場合は、180 フリップを 2 回、続けて行うことができます。

それ以外では、問題を理解するためにさらにコードを見る必要があるかもしれません。

于 2012-07-05T14:32:41.210 に答える