博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PopupWindowFragment的使用及项目地址
阅读量:7225 次
发布时间:2019-06-29

本文共 1915 字,大约阅读时间需要 6 分钟。

hot3.png

###PopupWindowFragment wiki###


GitHub 地址: <br> 作者微信: -FeiMo-<br> Bug反馈地址: 简介:

  • PopupWindowFragment是为了在Fragment模型中更好,更方便的使用PopupWindow而存在的通用组件。跟DialogFragment类似,也是将一个新的Window对象纳入Fragment的状态管理。但是由于DialogFragment的功能及接口的局限性,已经很难满足更加复杂的界面要求。因此,使用接口更加丰富的PopupWindow代替Dialog的方式应运而生。
  • 在PopupWindowFragment中,你除了可以轻松的指定Window切换时候的过场动画,还可以动态指定背景及布局外,在屏幕翻转的时候,PopupWindowFragment一样会记录翻转前的状态。

1.使用方法:

/**生成一个PopupWindowFragment* @code david.demos.popupwindow.DemoPopupWindowFragment*/public class DemoPopupWindowFragment extends PopupWindowFragment {        @Override        protected View onCreateView(LayoutInflater inflater, Bundle savedInstanceState) {            return inflater.inflate(R.layout.demo_pop_window,null);       }}/**Activity中调用* @code david.demos.popupwindow.Demos_PopupWindowFragment*/private PopupWindowFragment mPopupWindowFragment = new DemoPopupWindowFragment();...mPopupWindowFragment.show(getFragmentManager(),mPopTag);

调用PopupWindowFragment的方法就是如此简单。当然,这部分剪口很大一部分参考了DialogFragment的接口设计。调用上述方法后可以实现效果:

弹出一个PopupWindowFragment


2.过场动画:

当然PopupWindowFragment可以做的事情远不止此,PopupWindowFragment可以通过简单的request方法来定制你的过场动画:

/**Activity中调用* @code david.demos.popupwindow.Demos_PopupWindowFragment*/private int[] mWindowAnims =  {        PopupWindowFragment.ANIM_ACTIVITY,               PopupWindowFragment.ANIM_TOAST,               PopupWindowFragment.ANIM_DIALOG,               PopupWindowFragment.ANIM_INPUTMETHOD};...mPopupWindowFragment.requestPopupAnimationStyle(mWindowAnims[index]);...

PopupWindowFragment将默认提供4个过场动画,分别是Activity动画,Toast动画,Dialog弹出动画,还有输入法动画,效果如下:

指定不同的过场动画

<br> >

3.状态保存:

PopupWindowFragment拥有Fragment的保存特质,可以在Activity切换的时候依旧保持自己的状态:

Activity重新生成后,PopupWindowFragment依旧能保持之前的状态和属性

4.定制Gravity:

//demo/Demos_PopupWindowFragment.java

private int[] mGravitys =  {Gravity.BOTTOM,Gravity.CENTER,Gravity.TOP};...mPopupWindowFragment.requestGravity(mGravitys[i]);....

效果:

通过Gravity指定位置

PopupWindowFragment提供了丰富的API和接口供各位开发者使用,如果疑问和Bug,请发送到作者邮箱。thx

转载于:https://my.oschina.net/u/874727/blog/782011

你可能感兴趣的文章
mescroll在vue中的应用
查看>>
老K漫谈区块链的共识(3)——分布式系统和区块链共识
查看>>
浏览器的渲染原理简介
查看>>
Mac下开启Chrome非安全模式
查看>>
treap bzoj1503
查看>>
Java linkedList详细介绍及使用示例
查看>>
偏函数
查看>>
angular2怎么获取下拉框的值
查看>>
[转]NMON服务器监控、指标说明
查看>>
升级mac xcode打包证书报错 git 报错
查看>>
SSH网上商城四
查看>>
JS-记住用户名【cookie封装引申】
查看>>
Cadence OrCAD Cpature创建Title Block
查看>>
数据强转
查看>>
HDU-4342 History repeat itself 二分
查看>>
C# 实现快捷键几种方法
查看>>
Java 初始 多态
查看>>
终于解决了PHP调用SOAP过程中的种种问题。(转)
查看>>
说说Android桌面(Launcher应用)背后的故事(三)——CellLayout的秘密
查看>>
Latest crack software ftp download
查看>>