popupWindow的用法(1)
来源:互联网 发布:淘宝免单可信吗 编辑:程序博客网 时间:2024/06/06 14:08
可以参考下这个http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0702/1627.html讲的挺好
我这里主要实现的是那种类似两个listView并在一起的那种
case R.id.tv_school: doschool();break; //驾校case R.id.tv_region: doregion();
break; //地区
private void doregion() {tv_region.setTextColor(getResources().getColor(R.color.discount_tab));tv_school.setTextColor(getResources().getColor(R.color.black));iv_cursor1.setVisibility(View.INVISIBLE);iv_cursor2.setVisibility(View.VISIBLE); //这个是上面tab的变化if (pop!= null && pop.isShowing()) { pop.dismiss(); //当popupWindow存在时,在按他上面的会先取消popupWindow } else { schoolSel = -1; areaSel = -1; //分别是左右两个listView选择的position /*** 弹出自定义的菜单 ***/ View layout = getLayoutInflater().inflate(R.layout.drivingschool_school,null); //这个布局下面有 lv_school=(ListView) layout.findViewById(R.id.lv_region); lv_area=(ListView) layout.findViewById(R.id.lv_school); DrivingSchoolNameAdapter schoolAdapter=new DrivingSchoolNameAdapter(this, getAdapterFromNameArea(cateAreaist));//为右边的listView设置adapter lv_area.setAdapter(schoolAdapter); lv_area.setOnItemClickListener(itemAreaSchoolClickListener); //右边项的点击事件 pop = new PopupWindow(layout,WorkApplication.getInstance().getScreenWidth(),WorkApplication.getInstance().getScreenHeight()); 宽高设置 ColorDrawable cd = new ColorDrawable(getResources().getColor(R.color.main_white)); pop.setBackgroundDrawable(cd); //颜色设置,应该只包含左边没有被点击的地方 pop.update(); pop.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED); pop.setTouchable(true); // 设置popupwindow可点击 pop.setOutsideTouchable(true); // 设置popupwindow外部可点击 pop.setFocusable(true); //获取焦点 pop.showAsDropDown(tv_school,5,5); //相对某控件的位置 pop.setTouchInterceptor(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_OUTSIDE) { pop.dismiss(); //当点击pop以外的位置,pop不为空的话会先使pop为空 return true; } return false; } }); if(cateAreaist == null){ HashMap<String , Object> map = new HashMap<String , Object>(); map.put("type", 1); Task task = new Task(TaskType.TS_GET_AREA_SCHOOL_LIST, map); //这段是连接服务器的,不用管 MainService.newTask(task); ProgressDialogUtil.showMsgDialog(this); } }}private List<String> getAdapterFromNameArea(List<DSNameAreaInfo> obj){if(obj == null){return null;}List<String> arr = new ArrayList<String>();for (DSNameAreaInfo item : obj) {arr.add(item.getName());}return arr;}这里这列举其中一种,另外一种是一样的。
private OnItemClickListener itemAreaSchoolClickListener=new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position,long id) {switch (parent.getId()) {case R.id.lv_school:schoolSel = -1;areaSel = position; //点击左边项DrivingSchoolNameAdapter dsschoolNameAdapter=new DrivingSchoolNameAdapter(DrivingschoolSchoolAreaActivity.this, cateAreaist.get(position).getAreas()); lv_school.setAdapter(dsschoolNameAdapter); lv_school.setOnItemClickListener(itemAreaSchoolClickListener);break;case R.id.lv_region: //点击右边项schoollistPage = 1;schoollist.clear();dsschoolAdapter.notifyDataSetChanged();schoolSel = position;pop.dismiss();loadschool(true, false);break;default:break;}}};<pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" > <ListView android:id="@+id/lv_school" android:layout_height="fill_parent" android:layout_width="0dip" android:layout_weight="1" android:listSelector="@color/gainsboro" ></ListView> <ListView android:id="@+id/lv_region" android:layout_height="fill_parent" android:layout_width="0dip" android:layout_weight="1" android:listSelector="@android:color/white" android:background="@color/gainsboro" ></ListView></LinearLayout>
drivingschool_school布局
讲的不是很详细。。。
0 0
- popupWindow的用法(1)
- Android PopupWindow用法(三) PopupWindow 的show方法
- android PopupWindow的用法
- popupwindow的用法
- PopupWindow的用法
- PopupWindow的简单用法
- PopupWindow的简单用法
- PopupWindow的基本用法
- PopupWindow的简单用法
- popupwindow的用法简介
- PopupWindow的简单用法
- popupwindow的用法
- Android中Popupwindow的用法
- Android中PopupWindow的用法
- 关于Android的PopupWindow用法
- Android中PopupWindow的用法
- PopupWindow与PopupMenu的用法
- PopupWindow与PopupMenu的用法
- HDU - 3732 Ahui Writes Word(多重背包)
- 通过bundle对象实现Fragment之间的传值
- eclipse struts2 错误及解决方法
- lintcode-线段树的构造-201
- Android综合小练习Fragment,解析,Handler,ViewPager
- popupWindow的用法(1)
- UVA 1629 - Cake slicing 题解
- gym Learning to Add 一个水题 结果看错题意了
- hdu1426搜索
- 定义类class
- IOS SEL类型
- IOS每天15个注意点系列之UI-tableView
- CSS3基础
- 【SQL Server 2008】基础知识—数据库相关概念及操作