画面の左上隅からボタンをクリックすると、PopupWindow が表示されます。しかし、問題は、開いているときに非常に速く表示されることです。つまり、アニメーションは発生しませんが、閉じると正常に動作します。つまり、アニメーションで消えます。
これが私のコードです。助けてください。
メイン クラス コード:
LayoutInflater layoutInflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = layoutInflater.inflate(R.layout.eosos_maptype_popup, null);
final TextView txtContacts = (TextView) layout.findViewById(R.id.txtContacts);
final TextView txtFeatured = (TextView) layout.findViewById(R.id.txtFeatured);
final PopupWindow popup = new PopupWindow(CalendarView.this);
popup.setAnimationStyle(R.style.animation);
popup.setContentView(layout);
popup.setHeight(WindowManager.LayoutParams.WRAP_CONTENT);
popup.setWidth(WindowManager.LayoutParams.WRAP_CONTENT);
popup.setFocusable(true);
popup.setBackgroundDrawable(new BitmapDrawable(getResources()));
// popup.showAtLocation(layout, Gravity.LEFT | Gravity.TOP, rect.left -
// v.getWidth(), getDeviceHeight() - rect.top);
popup.showAtLocation(layout, Gravity.TOP | Gravity.LEFT, rect.left, rect.bottom);
私のstyle.xml
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="animation" parent="android:Animation">
<item name="@android:windowEnterAnimation">@anim/popup_show</item>
<item name="@android:windowExitAnimation">@anim/popup_hide</item>
</style>
</resources>
私のpopup_show.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="-100%" android:toXDelta="0" android:duration="1000"/>
</set>
私の popup_hide.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:toXDelta="-100%" android:duration="1000"/>
android:duration="200"/> -->
</set>