package com.bestapp.yikuair.fragments;
import android.R.color;
import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.ColorDrawable;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup.LayoutParams;
import android.view.ViewTreeObserver;
import android.widget.Button;
import android.widget.PopupWindow;
import com.bestapp.yikuair.R;
public class SelectPicPopupWindow extends PopupWindow {
private Button btn_take_photo, btn_pick_photo, btn_cancel;
private View mMenuView;
public SelectPicPopupWindow(Activity context, OnClickListener itemsOnClick) {
super(context);
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mMenuView = inflater.inflate(R.layout.alert_dialog, null);
btn_take_photo = (Button) mMenuView.findViewById(R.id.btn_take_photo);
btn_pick_photo = (Button) mMenuView.findViewById(R.id.btn_pick_photo);
btn_cancel = (Button) mMenuView.findViewById(R.id.btn_cancel);
btn_cancel.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
dismiss();
}
});
btn_pick_photo.setOnClickListener(itemsOnClick);
btn_take_photo.setOnClickListener(itemsOnClick);
// ����SelectPicPopupWindow��View
this.setContentView(mMenuView);
// ����SelectPicPopupWindow��������Ŀ�
this.setWidth(LayoutParams.FILL_PARENT);
// ����SelectPicPopupWindow��������ĸ�
this.setHeight(LayoutParams.FILL_PARENT);
// ����SelectPicPopupWindow��������ɵ��
this.setFocusable(true);
// ����SelectPicPopupWindow�������嶯��Ч��
this.setAnimationStyle(R.style.AnimBottom);
// ʵ��һ��ColorDrawable��ɫΪ����
ColorDrawable dw = new ColorDrawable(color.transparent);
// ����SelectPicPopupWindow��������ı���
this.setBackgroundDrawable(dw);
// mMenuView���OnTouchListener�����жϻ�ȡ����λ�������ѡ�����������ٵ�����
mMenuView.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
int height = mMenuView.findViewById(R.id.pop_layout).getTop();
int y = (int) event.getY();
if (event.getAction() == MotionEvent.ACTION_UP) {
if (y < height) {
dismiss();
}
}
return true;
}
});
}
}