PopupWindow
来源:互联网 发布:php header跳转404 编辑:程序博客网 时间:2024/06/05 18:51
添加动画效果要在style.xml中定义
PopupWindow的动画效果是,补间动画的缩放效果
<style name="mypopwindow_anim_style"> <item name="android:windowEnterAnimation">@anim/popshow_anim</item> <item name="android:windowExitAnimation">@anim/pophidden_anim</item> </style>
在res文件夹下,创建一个文件夹anim,创建两个xml文件
popshow_anim.xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" android:duration="1000" > <scale android:fromXScale="1.0" android:toXScale="1.0" android:fromYScale="0.0" android:toYScale="1.0" android:pivotX="0%" android:pivotY="100%" android:fillAfter="false" android:duration="400" ></scale></set>
pophidden_anim.xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:fillAfter="true" > <scale android:fromXScale="1.0" android:toXScale="1.0" android:fromYScale="1.0" android:toYScale="0.0" android:pivotX="0%" android:pivotY="100%" android:fillAfter="false" android:duration="400"></scale></set>
调用showPopwindow()方法
/** * 显示popupWindow */ private void showPopwindow() { // 利用layoutInflater获得View LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); //找到自定义的布局 View view = inflater.inflate(R.layout.window_alter, null); window = new PopupWindow( WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT); //把自定义的布局加到PopupWindow上 window.setContentView(view); // 设置popWindow弹出窗体可点击,这句话必须添加,并且是true window.setFocusable(true); // 设置允许在外点击消失 window.setOutsideTouchable(true); // 这个是为了点击“返回Back”也能使其消失,并且并不会影响你的背景 window.setBackgroundDrawable(new BitmapDrawable()); // 实例化一个ColorDrawable颜色为半透明 ColorDrawable dw = new ColorDrawable(0xb0000000); window.setBackgroundDrawable(dw); // 设置popWindow的显示和消失动画 window.setAnimationStyle(R.style.mypopwindow_anim_style); // 在底部显示 /* window.showAtLocation(this.findViewById(R.id.vp_findpaitent_viewpager), Gravity.TOP, 0, 260);*/ window.showAsDropDown(this.findViewById(R.id.include_find_message_pager) , 0, 0); //popWindow消失监听方法 window.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { System.out.println("popWindow消失"); } }); }
0 0
- popupwindow
- popupWindow
- PopupWindow
- PopupWindow
- PopupWindow
- PopupWindow
- PopupWindow
- popupwindow
- PopupWindow
- PopupWindow
- PopupWindow
- PopupWindow
- PopupWindow
- PopupWindow
- PopupWindow
- popupwindow
- popupwindow
- PopupWindow
- Android HTTP网络请求的异步实现
- 关于Jeecg互联网化dubbo改造方案(下)
- 常见测量矩阵的MATLAB实现
- 让TextView显示指定的行数,超过部分用省略号代替
- OpenGL 3.0教程 第十课:透明
- PopupWindow
- 用MathType编辑带圈星号的方法
- 初学Cmake
- linux平台C语言打开文件
- 阻塞队列BlockingQueue用法
- 测试代码覆盖率-GCOV的使用
- JS打印和报表输出
- java多线程 --总结2
- [源码学习]AsyncTask