Android ListPopupWindow菜单从左到右弹出动画方向
我有一个ListPopupMenu,代码如下Android ListPopupWindow菜单从左到右弹出动画方向,android,android-animation,Android,Android Animation,我有一个ListPopupMenu,代码如下 public void showPopupMenu(View view) { ListPopupWindow listPopupWindow = new ListPopupWindow(getActivity()); listPopupWindow.setAdapter(new CollectionItemMenuAdapter(getActivity(), popupMenuList)); listPopupWindow.s
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中,第一个)时,弹出菜单出现
但是,菜单动画从右向左显示。我更喜欢从左到右显示(如从设置按钮显示)。我能在不创建自定义动画的情况下实现这一点吗
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>
这是波普芬多。但我认为两者都是一样的
祝你好运 显然,我的问题主要是因为将错误的视图发送到
listPopupWindow.setAnchorView(视图)代码>。我需要发送“设置图像”视图而不是“父列表视图”
通过发送正确的视图,我现在可以从正确的源(即设置图像的点)开始动画。固定动画如下所示
谢谢。不幸的是,正如我在问题中提到的,listPopupWindow.setAnimationStyle(R.style.Animation)代码>对我不起作用:(,尤其是现在我有了固定宽度的菜单。
<style name="Animation">
<item name="android:windowEnterAnimation">@anim/animation</item>
</style>
popupWindow.setAnimationStyle(R.style.Animation);