布局
<?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:background="#fff"
android:cacheColorHint="#000000"
android:orientation="vertical"
>
<ListView
android:id="@+id/lv_dialog"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:cacheColorHint="#00000000"
android:scrollbars="none"
android:overScrollMode="never">
</ListView>
</LinearLayout>
private ImageView ivPullDownTab;
private PopupWindow popupWindow;
private String title[] = {“加项目”,”收藏夹”,”备注”, “附件”, “编辑”, “提醒”, “邮件” };
点击
ivPullDownTab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showPopupWindow(ivPullDownTab);
}
});
代码
/**
* showPopupWindow
*
* @param parent
*/
private void showPopupWindow(View parent) {
//加载布局
layout = (LinearLayout) LayoutInflater.from(TalentCVActivity.this).inflate(R.layout.dialog_search, null);
//找到布局的控件
lvDialog = (ListView) layout.findViewById(R.id.lv_dialog);
//设置适配器
lvDialog.setAdapter(new ArrayAdapter<String>(TalentCVActivity.this,
R.layout.item_text_search, R.id.tv_text, title));
// 实例化popupWindow
popupWindow = new PopupWindow(layout, 220, 600);
//控制键盘是否可以获得焦点
popupWindow.setFocusable(true);
//设置popupWindow弹出窗体的背景
popupWindow.setBackgroundDrawable(new BitmapDrawable(null, ""));
WindowManager manager = (WindowManager) TalentCVActivity.this.getSystemService(TalentCVActivity.this.WINDOW_SERVICE);
//获取xoff
@SuppressWarnings("deprecation")//不检测过期方法
int xpos = manager.getDefaultDisplay().getWidth() / 2 - popupWindow.getWidth() / 2;
//xoff,yoff基于anchor的左下角进行偏移。
popupWindow.showAsDropDown(parent, xpos, 0);
//监听
lvDialog.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (position == 0) {
} else if (position == 1) {
} else if (position == 2) {
}else if (position == 3){
}else if (position == 4) {
}else if (position == 5) {
}
//关闭popupWindow
popupWindow.dismiss();
popupWindow = null;
}
});
}