Android仿京东筛选

时间:2022-01-07 22:27:40

效果:
Android仿京东筛选

项目中用到了一个侧滑筛选的功能。看到UE第一感觉用PopupWindow做加个进入和退出的动画。后来突然发现弹出的部分还能进入另一个界面,这是神马鬼,筛选里面还有筛选,马上找产品聊天,这个设计挺奇葩的呀…..,产品拿出京东来给我演示下人家就是这么做的…..我默默的回到座位开始干活…..。

既然PopupWindow不好做用啥呢,侧滑可以想到的一般就是SlidingMenu和DrawerLayout 。SlidingMenu基本过时了 当然就用DrawerLayout,DrawerLayout 出来很久了也很好用。里面的两个筛选界面可以用Fragment来实现 。

弹出的两个界面根据自己的需要布局就行了。

切换动画用最简单的补间动画就可以了通过setCustomAnimations方法给fragment设置切换动画

  private void showNext() {
Fragment fragment = new FilterFragmentTwo();
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.right_in, R.anim.left_out, R.anim.left_in, R.anim.right_out);
fragmentTransaction.replace(R.id.drawer_content, fragment);
fragmentTransaction.commitAllowingStateLoss();
}

然后就是传数据了 第二个筛选出的字段带到第一个筛选界面。

把fragment放入栈中 通过进栈出栈来切换fragment。因为项目中有EventBus 就通过EventBus 来传递数据了。大家可以根据自己的方法传递数据。

demo地址 https://github.com/chsmy/FilterDemo 大家可以尽情的优化