标签:
一、简介
PopupWindow一般用于View控件周边的弹出窗口。
创建一个新的弹出窗口可以显示contentView。窗户的尺寸必须传递给构造函数。
二、使用
1.创建弹出窗口popup_widow.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <RadioButton android:paddingLeft="10dp" android:paddingRight="15dp" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:text="@string/str_hdmi14" android:textColor="@color/white" android:textSize="32sp" android:button="@drawable/radio_btn" android:background="@drawable/xxx"/> <RadioButton android:paddingLeft="10dp" android:paddingRight="15dp" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:text="@string/str_hdmi20" android:textColor="@color/white" android:textSize="32sp" android:button="@drawable/radio_btn" android:background="@drawable/xxx"/> </LinearLayout>
2.在java代码中用LayoutInflater加载该窗口布局文件
View rootView = LayoutInflater.from(mContext).inflate( R.layout.popup_window, null);
3.创建PopupWindow对象
PopupWindow popupWindow = new PopupWindow(rootView,300, 200, true);
-------------------------------------------------------------------------------------------------------------------------------
4.设置PopupWindow的动画风格(可选)
popupWindow.setAnimationStyle(R.style.popup_window_anim);
4.1在values/style.xml定义动画风格
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="popup_window_anim"> <item name="android:windowEnterAnimation">@anim/popup_window_show</item> <item name="android:windowExitAnimation">@anim/popup_window_hide</item> </style> </resources>
4.2 弹出动画 anim/pop_window_show.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromXScale="1.0" android:toXScale="1.0" android:fromYScale="0.0" android:toYScale="1.0" android:fillAfter="false" android:duration="200"> </scale> </set>
4.3消失动画 anim/pop_window_hide.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromXScale="1.0" android:toXScale="1.0" android:fromYScale="1.0" android:toYScale="0.0" android:fillAfter="false" android:duration="200"> </scale> </set>
-------------------------------------------------------------------------------------------------------------------------------
5.显示PopupWindow
popupWindow.showAsDropDown(btn ,xOff ,yOff);
参数:
btn: 在btn这个View控件周边弹出
xOff:x轴的偏移
yOff:y轴的偏移
注:如xOff = 0; yOff=0;则窗口在btn正下弹出(左边缘对齐)
-------------------------------------------------------------------------------------------------------------------------------
标签:
原文地址:http://my.oschina.net/shieh/blog/513961