其他分享
首页 > 其他分享> > android-ListPopupWindow菜单弹出动画的方向从左到右

android-ListPopupWindow菜单弹出动画的方向从左到右

作者:互联网

我有一个ListPopupMenu,代码如下

public void showPopupMenu(View view) {
    ListPopupWindow listPopupWindow = new ListPopupWindow(getActivity());
    listPopupWindow.setAdapter(new CollectionItemMenuAdapter(getActivity(), popupMenuList));
    listPopupWindow.setWidth((int) getResources().getDimension(R.dimen.menu_width));
    listPopupWindow.setHeight(WRAP_CONTENT);
    listPopupWindow.setVerticalOffset((int) getResources().getDimension(R.dimen.menu_vertical_offset));
    listPopupWindow.setHorizontalOffset((int) getResources().getDimension(R.dimen.menu_horizontal_offset));

    listPopupWindow.setAnchorView(view);
    listPopupWindow.show();
}

结果如下所示,当单击设置(在gif中,第一个)时,将显示弹出菜单.

enter image description here

但是,菜单动画从右到左显示.我希望它从左到右显示(就像从设置按钮出现一样).我可以在不为其创建自定义动画的情况下实现它吗?

p / s:我尝试使用listPopupWindow.setAnimationStyle(…)自定义动画,也无法正常工作

解决方法:

我是这样做的.

首先,在res / anim文件夹中设置动画

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
   <scale android:fromXScale="0" android:fromYScale="1"
      android:toXScale="1" android:toYScale="1"
      android:duration="700"
      />
</set>

第二,在res / values / styles.xml中添加样式

<style name="Animation">
    <item name="android:windowEnterAnimation">@anim/animation</item>
</style>

并使用setAnimationStyle.

popupWindow.setAnimationStyle(R.style.Animation);

这是PopupWindow.但我认为它们都是一样的.

祝好运 !!

标签:android-animation,android
来源: https://codeday.me/bug/20191111/2023087.html