PopupWindow实现android自定义弹出框口
来源:互联网 发布:日程规划软件 编辑:程序博客网 时间:2024/06/01 09:18
android开发中我们要实现很多自定义的弹出窗口,我们可以使用PopupWindow来实现
public class SelectDialog extends Activity implements OnClickListener {private PopupWindow popupWindow2 = null;// PopupWindow在android.widget包下,弹出窗口的形式展示。官方文档对该控件的描述是:“一个弹出窗口控件,可以用来显示任意视图(View),而且会浮动在当前 活动(activity)的顶部”。PopupWindow可以让我们实现多种自定义控件,例如:menu、alertdialog等弹窗似的View private LayoutInflater layoutInflater2;//为了获取res 下的layout的xml文件private View popView2;private ImageView gengDuo;//更多下拉条@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main_activity); gengDuo = (ImageView) v.findViewById(R.id.geng_duo); } public void showSelect(View anchor) {//anchor 想让该弹出框在那个组件下显示 就传哪个组件Rect frame = new Rect();getActivity().getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);int i = 0;int j = 0;int[] location = { i, j };anchor.getLocationOnScreen(location);layoutInflater2 = LayoutInflater.from(this);popView2 = layoutInflater2.inflate(R.layout.layout_pop_type, null);popView2.setFocusableInTouchMode(true);popView2.setFocusable(true);LinearLayout layMScan = (LinearLayout) popView2.findViewById(R.id.lay_m_scan);LinearLayout layMLoc = (LinearLayout) popView2.findViewById(R.id.lay_m_loc);layMScan.setOnClickListener(this);layMLoc.setOnClickListener(this);popupWindow2 = new PopupWindow(popView2,android.view.ViewGroup.LayoutParams.WRAP_CONTENT/* * DipPxUtil.dip2px * (context, * 126) */,android.view.ViewGroup.LayoutParams.WRAP_CONTENT, true);ColorDrawable dw = new ColorDrawable(999999);popupWindow2.setBackgroundDrawable(dw); //如果不设置PopupWindow的背景,无论是点击外部区域还是Back键都无法dismiss弹框popupWindow2.setFocusable(true);popupWindow2.setOutsideTouchable(true);//点击弹出框外任意一区域弹出框消失popupWindow2.update();popupWindow2.showAsDropDown(anchor, anchor.getWidth(), 0);}@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch (v.getId()) {case R.id.geng_duo:// 点击更多时显示下拉列表showSelect(v);//// 设置按钮的点击事件break; case R.id.lay_m_scan:// 扫描 break;case R.id.lay_m_loc:// 定位 break;default:break;}}}
layout_pop_type.xml 文件
<?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:layout_gravity="right" android:orientation="vertical" > <LinearLayout android:layout_width="116dp" android:layout_height="100dp" android:layout_gravity="center|right" android:gravity="left|center" android:background="@drawable/buttom_function_bg" android:orientation="vertical" > <LinearLayout android:id="@+id/lay_m_scan" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" android:orientation="horizontal" > <ImageView android:id="@+id/type_m_scan" android:layout_width="30dp" android:layout_height="30dp" android:layout_marginRight="8dp" android:background="@drawable/m_scan" /> <TextView android:id="@+id/type_mscan_tx" android:layout_width="wrap_content" android:layout_height="25dp" android:layout_marginRight="10dp" android:gravity="center" android:text="扫描" android:textColor="#999999" android:textSize="16sp" /> </LinearLayout> <LinearLayout android:id="@+id/lay_m_loc" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" android:orientation="horizontal" android:paddingTop="10dp" > <ImageView android:id="@+id/type_m_loc" android:layout_width="30dp" android:layout_height="30dp" android:layout_marginRight="8dp" android:background="@drawable/m_loc" /> <TextView android:id="@+id/type_mloc_tx" android:layout_width="wrap_content" android:layout_height="25dp" android:layout_marginRight="10dp" android:gravity="center" android:text="定位" android:textColor="#999999" android:textSize="16sp" /> </LinearLayout> </LinearLayout></LinearLayout>
0 0
- PopupWindow实现android自定义弹出框口
- android自定义弹出框popupwindow方式实现
- Android PopupWindow 实现自定义弹出层
- Android-PopupWindow自定义的弹出框
- Android PopupWindow弹出实现
- Android实现底部半透明弹出框PopUpWindow
- android开发步步为营之64:PopupWindow实现自定义弹出菜单
- 利用Popupwindow自定义弹出框
- Android自定义popupwindow实现ios中UC浏览器中长按图片弹出的PopupWindow效果
- Android 自定义PopupWindow 实现 ListView与PopupWindow结合下拉框
- 自定义PopupWindow轻松实现从底部弹出
- android自定义menu,PopUpWindow弹出菜单
- android自定义menu,PopUpWindow弹出菜单
- android自定义menu,PopUpWindow弹出菜单
- android自定义menu,PopUpWindow弹出菜单
- android自定义menu,PopUpWindow弹出菜单 .
- android自定义menu,PopUpWindow弹出菜单
- android自定义menu,PopUpWindow弹出菜单
- <转>AndroidStudio导入第三方Library
- 设计模式之6大原则
- 关于调研微信的几点理解
- 学习Android——ListView之adapter
- Android桌面快捷方式兼容问题
- PopupWindow实现android自定义弹出框口
- 浅议那些Android中的性能优化
- SOCKET 网络字节序与主机字节序及其相互转换
- 黑马52期+28期+32期+46期最新android视频免费下载
- 读取本地图片到PICTUREBOX、以及和数据库指间的交互
- css3实现让人有点击欲望的按钮
- make clean、make mrproer 以及make distclean的区别
- 2015-11-03-01Viewpager加载多个Fragment,并设置Title
- 【Java并发编程实战】-----“J.U.C”:CyclicBarrier