popWindow

2023-12-30 00:18
文章标签 popwindow

本文主要是介绍popWindow,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 private void showPopWindow(View view) {long time = 1000;// 模糊动画  AlphaAnimation alphaAnimation = new AlphaAnimation(0, 1);alphaAnimation.setDuration(time);alphaAnimation.setFillAfter(true);// 缩放动画  ScaleAnimation scaleAnimation = new ScaleAnimation(0, 1, 0, 1, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);scaleAnimation.setDuration(time);scaleAnimation.setFillAfter(true);// 动画集合  AnimationSet animationSet = new AnimationSet(true);animationSet.addAnimation(scaleAnimation);animationSet.addAnimation(alphaAnimation);//下面是popWindow的部分// 找到布局文件View v = View.inflate(getContext(),R.layout.popup_window_app_mannager, null);PopupWindow popupWindow;popupWindow = new PopupWindow(v,LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT, true);popupWindow.setBackgroundDrawable(new ColorDrawable());popupWindow.showAsDropDown(view, 100, -view.getHeight());// 开始动画v.setAnimation(animationSet);}

分开的

    private PopupWindow mPopupFirst; private void initPopWindow_First() {// 找到布局文件View v = View.inflate(getContext(),R.layout.view_see_or_change_iv_user, null);mTv_changephoto = v.findViewById(R.id.tv_changephoto);mTv_show_big = v.findViewById(R.id.tv_show_big);mTv_dissmis = v.findViewById(R.id.tv_dissmis);mPopupFirst = new PopupWindow(v,LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT, true);mPopupFirst.getContentView().measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);mPopupFirst.setBackgroundDrawable(new ColorDrawable());mPopupFirst.setAnimationStyle(R.style.Popupwindow_setPhoto);}private void ShowPopupWindow_First(View view) {mPopupFirst.showAsDropDown(view, view.getWidth() / 2 - mPopupFirst.getContentView().getMeasuredWidth() / 2, -view.getHeight() / 2 - 400);// 开始动画backgroundAlpha(0.5f);mPopupFirst.setOnDismissListener(new PopupWindow.OnDismissListener() {@Overridepublic void onDismiss() {backgroundAlpha(1f);}});}public void backgroundAlpha(float bgAlpha) {WindowManager.LayoutParams lp = getActivity().getWindow().getAttributes();lp.alpha = bgAlpha; //0.0-1.0getActivity().getWindow().setAttributes(lp);getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);}

 背景

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><!-- 圆角半径 --><corners android:radius="20dp" /><!-- 背景颜色 --><solid android:color="#eeeeeeee" /></shape>

style

<style name="my_popwindow"><item name="android:windowEnterAnimation">@anim/pop_in</item><item name="android:windowExitAnimation">@anim/pop_out</item></style>

进入动画

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"><translateandroid:duration="500"android:fromYDelta="100%p"android:toYDelta="0" /><alphaandroid:duration="500"android:fromAlpha="0.0"android:toAlpha="1.0" />
</set>

退出动画

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"><translateandroid:duration="500"android:fromYDelta="0"android:toYDelta="100%p" /><alphaandroid:duration="500"android:fromAlpha="1.0"android:toAlpha="0.0" />
</set>

 

这篇关于popWindow的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/551149

相关文章

Android Popwindow 使用

代码如下: private PopupWindow mPopupWindow;tv.setOnClickListener(v -> {if (mPopupWindow != null && mPopupWindow.isShowing()) {return;}mPopupWindow = new PopupWindow();mPopupWindow.setWidth(WindowMana

android自定义PopWindow底部显示

最近开发一款留言板手机客户端,需要到对话框来确认用户操作,但是系统自带的对话框很丑,不想用,所以就自定义PopWindow,想怎么显示就怎么显示,而且还方便添加显示动态,和背景图片。下面,我就来分享一下我的学习经验。 1、什么是popWindow?(1、2是博主网上找的) popWindow就是对话框的一种方式!此文讲解的android中对话框的一种使用方式,它叫popWindow。 2、p

PopWindow在Android 2.3.3 或以下的系统的一个bug 及其解决办法

今日终于修复了一个非常严重的bug: 这个bug非常奇怪,我在Anroid.4.0.4或以上测试都正常,但是后来廉温说他在他的手机按一下右下角的"设置"按钮(Button),居然出现了崩溃现象(理论上会在设置按钮上弹出一popuwindow); 廉温手机系统2.3.X ;然后我用平板(系统也是2.3.x)测试下,果然出现错误; 由于平板基本报废,无法USB连接地电脑跟踪测试;一开

IOS学习之ActionSheet,传说中的popWindow(三)

这夏天来的太快,还没来的急去世界去看看,算了,在这看吧,每天的大白腿看的我也是心花怒放啊,看我的晚上无心撸码了。言归正传,必须得学习了,得像群里的大神看起了,什么(郭神了,泓洋神了,反正都是神),看见他们,我都觉得的自己。。。。。。这个控件使用频率比较高! 好简单: //// MyActionSheet.m// MyActionSheet//// Created by

PopWindow使用透明的View却出现布局为黑色的情况

问题: popwindow使用的是一个透明的布局,却出现布局为黑色的情况; 原因 以下两种方式都是让用户点击PopWindow其他地方或者返回键,PopWindow消失,就是这里出现的问题。 方式一: 1.用这种会出现设置的布局出现背景为黑色的问题 2.设置背景不为空 setBackgroundDrawable(new BitmapDrawable()); 方式二: 1.解决布局

popwindow创建以及事件拦截与内部包含checkbox选中

1:需求一个这样的弹窗覆盖 2:界面搭建以及popuwidow弹出动画效果 private void cate_screen_poppu() {View view = LayoutInflater.from(this).inflate(R.layout.cate_screen_popup, null);final CheckBox checkbox_all = (CheckBox)

android PopWindow弹不出输入法和遮挡输入框的问题

背景,在popWindow弹输入法,注意两个地方, 当前版本号pop要获取焦点 兼容版本号 弹出软键盘 private fun showSoftInput() {if (Build.VERSION.SDK_INT >= 30) {"版本大于等 30".log()binding.etNewUser.windowInsetsController?.show(WindowInsetsCompat

android PopWindow弹不出输入法的问题

背景,在popWindow弹输入法,注意两个地方, 当前版本号pop要获取焦点 兼容版本号 弹出软键盘 private fun showSoftInput() {if (Build.VERSION.SDK_INT >= 30) {"版本大于等 30".log()binding.etNewUser.windowInsetsController?.show(WindowInsetsCompat

当Fragment遇见PopWindow

问题描述: 页签1控制Fragment1,页签2控制Fragmeng2。 Fragment1和Fragment2 上各有一个按钮,要求点击按钮弹出弹出框。 我们要求点击外部弹出框消失。 问题来了:当Fragment1 弹出popWindow 时,点击页签2,popwindow 消失了,但是fragment2没有切换。 原因:我们设置了setOutsideTouchable(true)

Android 封装popwindow类,实现所有activity共用

popwindow是一个弹出window,在此对其进行封装,使这个popwindow可以在所有页面都显示。 在CSDN上有类似的封装类供下载,可以去自行下载然后做修改。附上地址:http://download.csdn.net/detail/jdsjlzx/9583823 这样一来就会出现一个问题,定义popwindow上的item的点击事件做相应的动作的时候,就会提示空指针异常,从而强制退出