ListPopupWindow和Popupwindow的阴影相关问题demo总结

  1. Popupwindow:
    • 优点:可以通过setBackgroundDrawable()来重新设置阴影。
    • 缺点:当AnchorView是可移动的,比如移动到屏幕的左右边界、左下角、右下角时,Popupwindow的显示需要适配与AnchorView的相对位置。
  2. ListPopupwindow:
    • 优点:当AnchorView是可移动的,比如移动到屏幕的左右边界、左下角、右下角时,ListPopupwindow会自适应显示位置,不需要考虑显示位置。如果需要判断是否显示在AnchorView上面,则可以通过AnchorView在屏幕中的位置和ListPopupwindow的高度是否超过屏幕来判断。
    • 缺点:可以通过setBackgroundDrawable(null)去掉阴影,但是如果想通过setBackgroundDrawable()重新设置阴影,则不能用android.widget.ListPopupWindow,只能用android.support.v7.widget.ListPopupWindow或者androidx.appcompat.widget.ListPopupWindow来设置新的阴影。同时还要在styles.xml中配置listPopupWindowStyle属性,不然设置的阴影不生效。
  3. Demo地址:https://github.com/lelelongwang/ListPopupWindowDemo.git

 

posted @ 2020-06-22 18:34  lelelong  阅读(808)  评论(0编辑  收藏  举报