package com.pets.ui; import android.app.ActionBar.LayoutParams; import android.content.Context; import android.view.Gravity; import android.view.View; import android.widget.PopupWindow; public class BottomPopWindow extends PopupWindow { public static final int MATCH_PARENT = 100; /** * 偏移量为0 */ public static final int NO_OFFSET = 0; protected Context context; public BottomPopWindow(Context context) { super(context); this.context = context; setWidth(LayoutParams.MATCH_PARENT); } public BottomPopWindow() { setWidth(LayoutParams.MATCH_PARENT); } /** * 设置高度为view的百分比,最大为100表示为与view同高度,最小为1 * * @param view */ public void percentHeight(View view, int percent) { if (null == view) { throw new IllegalArgumentException("view could not be null"); } if (percent < 0) { throw new IllegalArgumentException("percent must be positive"); } setHeight((int) (view.getHeight() * ((float) percent / MATCH_PARENT))); } /** * 将window显示到view左下角 * * @param view */ public void showAtBottom(View view, int offsetX, int offsetY) { if (null == view) { throw new IllegalArgumentException("view could not be null"); } showAtLocation(view, Gravity.LEFT | Gravity.BOTTOM, offsetX, offsetY); } /** * 将window显示到view左下角,x,y偏移量为0 * * @param view */ public void showAtBottom(View view) { if (null == view) { throw new IllegalArgumentException("view could not be null"); } showAtLocation(view, Gravity.LEFT | Gravity.BOTTOM, NO_OFFSET, NO_OFFSET); } }