关闭

popupwindow的用法简介

标签: java语言Android
70人阅读 评论(0) 收藏 举报
分类:
View view = View.inflate(getActivity(),R.layout.activity_main,null);
// mPopup = new PopupWindow(mInflate, LinearLayout.LayoutParams.MATCH_PARENT, 600, true); //第一个参数是一个view,2 是宽度 , 3 是 高度 4 是是否获取焦点 PopupWindow popupWindow = new PopupWindow(view, LinearLayout.LayoutParams.MATCH_PARENT, 600, true); popupWindow.setBackgroundDrawable(new ColorDrawable(Color.WHITE)); popupWindow.setOutsideTouchable(true);//设置外面是否可点击,如果popupWindow有给的背景,点外面是dismiss, // 没有给背景外面是点不了的,但是如果系统是Android版本23 Android 6.0以上是可以不设背景点外面也会dismiss popupWindow.setFocusable(true);//设置是否获取焦点 //设置动画,styles里面添加 // <style name="AnimationPreview">// <item name="android:windowEnterAnimation">@anim/fade_in</item>// <item name="android:windowExitAnimation">@anim/fade_out</item>// </style> //res/anim/创建两个文件fade_in,是出现的动画,fade_out,是消失的动画 popupWindow.setAnimationStyle(R.style.AnimationPreview); setAlpha(0.5f);//设置popupwindow背后界面透明一点,暗黑一点 popupWindow.showAtLocation(mPhoneNumber, Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, 0);//设置出现的具体位置,现在是设置的是在窗口底下// popupWindow.showAsDropDown(view);//这个是设置显示在某个控件底下 popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { setAlpha(1);//popupwindow消失时就不设置透明了 } }); //popupwindow出现的窗口设置透明度,并不会影响popupwindow的透明度,可以设置成一个方法,出现的时候设置窗口透明0.5f private void setAlpha(float value) { WindowManager.LayoutParams lp = this.getWindow().getAttributes(); lp.alpha = value; getWindow().setAttributes(lp); }出现的动画效果代码示例:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <alpha
        android:duration="1000"
        android:fromAlpha="0"
        android:toAlpha="1"></alpha>
   <translate
    android:duration="1000"
    android:fromXDelta="100%"
    android:fromYDelta="100%"
    android:toXDelta="0"
    android:toYDelta="0"/>
</set>
消失的动画效果代码示例:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <alpha
        android:duration="1000"
        android:fromAlpha="0.6"
        android:toAlpha="0"></alpha>
    <translate
        android:fromXDelta="0"
        android:toXDelta="100%"
        android:fromYDelta="0"
        android:toYDelta="100%"

        android:duration="1000" />
</set>
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2314次
    • 积分:163
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:12篇
    • 译文:1篇
    • 评论:0条
    文章分类