您的位置:首页 > 移动开发 > Android开发

android popwindow

2012-02-17 10:39 155 查看
实现顶部标题栏进行多门户的切换,同时只覆盖在当前的 界面上,同时有一种伸缩的效果。当然只是一个animation
 
public void showPopupWindow() {
LayoutInflater mLayoutInflater = (LayoutInflater) context.getSystemService(LAYOUT_INFLATER_SERVICE);

View music_popunwindwow = mLayoutInflater.inflate(R.layout.portal_select_layout, null);

ListView portal_select_listView = (ListView) music_popunwindwow.findViewById(R.id.portal_select_listView);
List android1 = new ArrayList();
for (int i = 0; i < 10; i++) {
android1.add("list "+i);
}
portal_select_listView.setAdapter( new ArrayAdapter(context,android.R.layout.simple_spinner_dropdown_item,android1));

portalInfos = new ArrayList<PortalInfo>();
PortalInfo info ;
for (int i = 0; i < 10; i++) {
info = new PortalInfo();
info.setpId(String.valueOf(i));
info.setpName("选择新闻列表"+i);
portalInfos.add(info);
}

if(portalInfos != null && portalInfos.size()>0){
if(portalInfos.size() == 1){
showToast("暂时只有一个门户");
}else{
portal_select_listView.setAdapter(new SelectPortalAdapter());
}
}
//portal_select_listView.setFocusable(true);
portal_select_listView.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
portal_select_title.setText(portalInfos.get(position).getpName());
PortalNewsActivty.pos =position;
mPopupWindow.dismiss();

}
});

mPopupWindow = new PopupWindow(music_popunwindwow,LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
//mPopupWindow.setBackgroundDrawable(getWallpaper());
mPopupWindow.setAnimationStyle(R.style.popwindow);
mPopupWindow.setFocusable(true);// 不设置当前pop不能点击,一定的记住
mPopupWindow.setOutsideTouchable(true);
mPopupWindow.update();
mPopupWindow.showAsDropDown(findViewById(R.id.topview), 0,0);

//mPopupWindow.showAtLocation(findViewById(R.id.button1), Gravity.TOP, 0,0);
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息