package com.su.testpopwindow;
import java.util.ArrayList;
import android.content.Context;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.ColorDrawable;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.TextView;
import com.su.testpopwindow.R;
public class PopMenu {
private ArrayList<String> itemList;
private Context context;
private PopupWindow popupWindow;
private ListView listView;
// private OnItemClickListener listener;
public PopMenu(Context context) {
// TODO Auto-generated constructor stub
this.context = context;
itemList = new ArrayList<String>(5);
View view = LayoutInflater.from(context)
.inflate(R.layout.popmenu, null);
// 设置 listview
listView = (ListView) view.findViewById(R.id.listView);
listView.setAdapter(new PopAdapter());
listView.setFocusableInTouchMode(true);
listView.setFocusable(true);
// popupWindow = new PopupWindow(view, context.getResources()
// .getDimensionPixelSize(R.dimen.popmenu_width),
// LayoutParams.WRAP_CONTENT);
popupWindow = new PopupWindow(view, LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT, true);
// 这个是为了点击“返回Back”也能使其消失,并且并不会影响你的背景(很神奇的)
ColorDrawable dw = new ColorDrawable(-00000);
popupWindow.setBackgroundDrawable(dw);
popupWindow.update();
}
// 设置菜单项点击监听器
public void setOnItemClickListener(OnItemClickListener listener) {
// this.listener = listener;
listView.setOnItemClickListener(listener);
}
// 批量添加菜单项
public void addItems(String[] items) {
for (String s : items)
itemList.add(s);
}
// 单个添加菜单项
public void addItem(String item) {
itemList.add(item);
}
// 下拉式 弹出 pop菜单 parent 右下角
public void showAsDropDown(View parent) {
popupWindow.showAtLocation(parent,Gravity.CENTER, 0, 0);
// popupWindow.showAsDropDown(parent,
// 10,
// // 保证尺寸是根据屏幕像素密度来的
// context.getResources().getDimensionPixelSize(
// R.dimen.popmenu_yoff));
// 使其聚集
popupWindow.setFocusable(true);
// 设置允许在外点击消失
popupWindow.setOutsideTouchable(true);
// 刷新状态
popupWindow.update();
}
// 隐藏菜单
public void dismiss() {
popupWindow.dismiss();
}
// 适配器
private final class PopAdapter extends BaseAdapter {
@Override
public int getCount() {
// TODO Auto-generated method stub
return itemList.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return itemList.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(
R.layout.pomenu_item, null);
holder = new ViewHolder();
convertView.setTag(holder);
holder.groupItem = (TextView) convertView
.findViewById(R.id.textView);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.groupItem.setText(itemList.get(position));
return convertView;
}
private final class ViewHolder {
TextView groupItem;
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Pop window 弹出背景变灰 (100个子文件)
resources.ap_ 18KB
resources.ap_ 16KB
TestPullPopWindow.apk 26KB
TestPullPopWindow.apk 21KB
jarlist.cache 120B
proguard.cfg 1KB
proguard.cfg 1KB
PopMenu.class 3KB
PopMenu.class 3KB
myActivity.class 3KB
PopMenu$PopAdapter.class 2KB
PopMenu$PopAdapter.class 2KB
TestPullPopWindowActivity.class 2KB
TestPullPopWindowActivity$1.class 2KB
TestPullPopWindowActivity$1.class 2KB
TestPullPopWindowActivity.class 2KB
myActivity$2.class 1KB
myActivity$3.class 1KB
myActivity$5.class 1KB
myActivity$4.class 1KB
TestPullPopWindowActivity$2.class 1KB
myActivity$1.class 919B
PopMenu$PopAdapter$ViewHolder.class 808B
PopMenu$PopAdapter$ViewHolder.class 808B
R.class 693B
R.class 595B
R$id.class 578B
R$drawable.class 560B
R$string.class 550B
R$drawable.class 520B
R$id.class 494B
R$layout.class 493B
R$dimen.class 473B
R$dimen.class 473B
R$layout.class 466B
R$anim.class 443B
R$string.class 433B
R$style.class 406B
BuildConfig.class 349B
R$attr.class 346B
R$attr.class 346B
.classpath 475B
.classpath 364B
classes.dex 13KB
classes.dex 8KB
annotations-cfd982d9c6a6f732aed1b97e532c93d6.jar 943B
PopMenu.java 4KB
PopMenu.java 3KB
myActivity.java 3KB
R.java 2KB
R.java 1KB
TestPullPopWindowActivity.java 1KB
TestPullPopWindowActivity.java 1KB
BuildConfig.java 162B
ic_launcher.png 4KB
ic_launcher.png 4KB
ic_launcher.png 4KB
ic_launcher.png 4KB
ic_launcher.png 3KB
ic_launcher.png 3KB
ic_launcher.png 2KB
ic_launcher.png 2KB
popmenu_bg.9.png 2KB
popmenu_bg.9.png 2KB
ic_launcher.png 2KB
ic_launcher.png 2KB
popmenu_bg.9.png 2KB
popmenu_bg.9.png 2KB
ic_launcher.png 2KB
ic_launcher.png 2KB
bg_pop_pressed.9.png 252B
bg_pop_pressed.9.png 252B
bg_pop_pressed.9.png 165B
bg_pop_pressed.9.png 165B
org.eclipse.jdt.core.prefs 177B
.project 853B
.project 853B
project.properties 360B
project.properties 360B
popmenu.xml 1KB
popmenu.xml 923B
pop.xml 886B
pomenu_item.xml 777B
pomenu_item.xml 775B
AndroidManifest.xml 750B
AndroidManifest.xml 735B
AndroidManifest.xml 735B
downbutton_corne.xml 632B
main.xml 572B
main.xml 480B
bg_pop_item.xml 386B
bg_pop_item.xml 386B
strings.xml 357B
style.xml 301B
out_righttoleft.xml 220B
in_lefttoright.xml 213B
dimens.xml 205B
dimens.xml 205B
strings.xml 200B
lint.xml 53B
共 100 条
- 1
BillZhang88SSS
- 粉丝: 17
- 资源: 41
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- AIS2024 valid
- 最入门的爬虫代码 python.docx
- 爬虫零基础入门-爬取天气预报.pdf
- 最通俗易懂的 MongoDB 非结构化文档存储数据库教程.zip
- 以mongodb为数据库的订单物流小项目.zip
- 腾讯云-mongodb数据库, 项目部署.zip
- 腾讯 APIJSON 的 MongoDB 数据库插件.zip
- 理解非关系型数据库和关系型数据库的区别.zip
- 操作简单的Mongodb网页web管理工具,基于Spring Boot2.0支持mongodb集群.zip
- tms-mongodb-web,提供访问mongodb数据的REST API和可灵活扩展的mongodb web 客户端.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页