PopupWindow分析

来源:互联网 发布:中国跆拳道网络联盟 编辑:程序博客网 时间:2024/06/10 12:30

   PopupWindow总结分析:

View v = getLayoutInflater().inflate(R.layout.popwindow,null);

<span style="font-size:18px;">// 设置两种方式// 第一种 传三个参数:1: 布局  后两个为它的宽高分布                PopupWindow popupWindow = new PopupWindow(v, ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT);                // 这个可以控制popupwindow的隐藏,可以实现点击popupwindow以外的区域时隐藏popupwindow,                // 还有一个功能就是响应back键。实现按back键可以隐藏popupwindow的功能。                popupWindow.setBackgroundDrawable(new BitmapDrawable());                // 使其他区域可以点击                popupWindow.setOutsideTouchable(true);                // 获取焦点 可点击                popupWindow.setFocusable(true);                popupWindow.setTouchable(true);                //  1  在view下方出现  view是你选择的view,在这个view下面//         popupWindow.showAsDropDown(view,0,0);                // 2  自定义window的位置   view是父布局            popupWindow.showAtLocation(view, Gravity.CENTER,0,0);</span></span>

<span style="font-size:18px;">// 第二种 传一个参数,单独设置它的宽高                PopupWindow window =  new PopupWindow(MyActivity.this);                window.setHeight(200);                window.setWidth(600);                window.setContentView(v);                window.setOutsideTouchable(true);                window.showAsDropDown(view, 0, 0);</span>


     

    / / 另外设置他进入的动画效果 ,在show之前

              popupWindow.setAnimationStyle(R.style.bottomStyle);

    <style name="bottomStyle">
        <item name="android:windowEnterAnimation">@anim/bottom_pup_anim_out</item>
        <item name="android:windowExitAnimation">@anim/bottom_pup_anim_in</item>
    </style>

 在自定义文件夹anim下:

// bottom_pup_anim_out

<set xmlns:android="http://schemas.android.com/apk/res/android" >
   <translate
        android:duration="300"
        android:fromXDelta="0"
        android:fromYDelta="100%p"
        android:toXDelta="0"
        android:toYDelta="0%p" />
</set>

// bottom_pup_anim_in

<set xmlns:android="http://schemas.android.com/apk/res/android" >
    <translate
        android:duration="300"
        android:fromXDelta="0"
        android:fromYDelta="0%p"
        android:toXDelta="0"
        android:toYDelta="100%p" />
</set>


 // popupwindow  设置消失的监听
<span style="font-size:18px;">mMoreWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {            @Override            public void onDismiss() {                mAnContent.setBackgroundResource(R.color.white);            }        });</span>








0 0