android popwindow 使用 转http://www.cnblogs.com/jenson138/p/4335818.html

本文将为您介绍如何在 Android 应用中使用 PopupWindow 创建弹出式菜单,包括布局加载、点击事件处理及显示与隐藏操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android PopupWindow使用实例

 

.java

复制代码
 1 private PopupWindow mMenu;
 2 
 3 
 4 public void CreatMenu(View view) {  5 if (mMenu == null) {  6 LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);  7 View v = inflater.inflate(R.layout.popuppindow_group,  8 null, false);  9 LinearLayout lytRequest = (LinearLayout) v.findViewById(R.id.lyt_pw_groupmember_request); 10 lytRequest.setOnClickListener(this); 11 LinearLayout lytExit = (LinearLayout) v.findViewById(R.id.lyt_pw_groupmember_exit); 12 lytExit.setOnClickListener(this); 13 mMenu = new PopupWindow(v); 14 // moreMenu.setWidth(300); 15  mMenu.setWidth(LayoutParams.WRAP_CONTENT); 16  mMenu.setHeight(LayoutParams.WRAP_CONTENT); 17  mMenu.showAsDropDown(view); 18 } else { 19 if (mMenu.isShowing()) { 20  mMenu.dismiss(); 21 } else { 22  mMenu.showAsDropDown(view); 23  } 24  } 25  } 26 27 @Override 28 public void onClick(View v) { 29 // TODO Auto-generated method stub 30 switch (v.getId()) { 31 case R.id.lyt_activitygroupmembers_menu: 32  CreatMenu(v); 33 break; 34 case R.id.lyt_pw_groupmember_request: 35 Toast.makeText(this, "request", Toast.LENGTH_SHORT).show(); 36  mMenu.dismiss(); 37 break; 38 case R.id.lyt_pw_groupmember_exit: 39 Toast.makeText(this, "exit", Toast.LENGTH_SHORT).show(); 40  mMenu.dismiss(); 41 break; 42 43  } 44 45 }
复制代码

 

.xml

复制代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@android:color/darker_gray" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:orientation="vertical" > <LinearLayout android:id="@+id/lyt_pw_groupmember_request" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/TextView03" android:layout_width="match_parent" android:layout_height="40dp" android:layout_marginLeft="12dp" android:layout_marginRight="12dp" android:gravity="left|center" android:text="request" android:textSize="18sp" /> <TextView android:id="@+id/TextView04" android:layout_width="match_parent" android:layout_height="0.5dp" android:layout_marginLeft="4dp" android:layout_marginRight="4dp" android:background="@android:color/darker_gray" android:text="TextView" /> </LinearLayout> <LinearLayout android:id="@+id/lyt_pw_groupmember_exit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/TextView02" android:layout_width="match_parent" android:layout_height="40dp" android:layout_marginLeft="12dp" android:layout_marginRight="12dp" android:gravity="left|center" android:text="exit" android:textSize="18sp" /> </LinearLayout> </LinearLayout> </RelativeLayout>
复制代码

转载于:https://www.cnblogs.com/Small-Life/p/4336237.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值