Android编程实现长按弹出选项框View进行操作的方法

 更新时间:2017年06月19日 10:17:48   作者:Beyond0525  
这篇文章主要介绍了Android编程实现长按弹出选项框View进行操作的方法,结合实例形式分析了Android事件响应及弹窗的功能、布局相关操作技巧,需要的朋友可以参考下

本文实例讲述了Android编程实现长按弹出选项框View进行操作的方法。分享给大家供大家参考,具体如下:

长按弹出选项框View进行操作

主要代码解释

private void showPopWindows(View v) {
    /** pop view */
    View mPopView = LayoutInflater.from(this).inflate(R.layout.popup, null);
    final PopupWindow mPopWindow = new PopupWindow(mPopView, ViewGroup.LayoutParams.WRAP_CONTENT,
        ViewGroup.LayoutParams.WRAP_CONTENT, true);
    /** set */
    mPopWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
    /** 这个很重要 ,获取弹窗的长宽度 */
    mPopView.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);
    int popupWidth = mPopView.getMeasuredWidth();
    int popupHeight = mPopView.getMeasuredHeight();
    /** 获取父控件的位置 */
    int[] location = new int[2];
    v.getLocationOnScreen(location);
    /** 显示位置 */
    mPopWindow.showAtLocation(v, Gravity.NO_GRAVITY, (location[0] + v.getWidth() / 2) - popupWidth / 2, location[1]
        - popupHeight);
    mPopWindow.update();
    final String copyTxt = (String) v.getTag();
    mPopView.findViewById(R.id.tv_copy_txt).setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        copyToClip(copyTxt);
        if (mPopWindow != null) {
          mPopWindow.dismiss();
        }
      }
    });
}

layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:background="@drawable/pop_bg" >
  <TextView
    android:id="@+id/tv_copy_txt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:gravity="center"
    android:text="复制邀请码"
    android:textColor="@android:color/white"
    android:textSize="12sp" />
</LinearLayout>

效果图:

根据上面可以自行调整位置。

完整实例代码点击此处本站下载

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android数据库操作技巧总结》及《Android资源操作技巧汇总

希望本文所述对大家Android程序设计有所帮助。

相关文章

  • Android开发之菜单(menu)用法实例分析

    Android开发之菜单(menu)用法实例分析

    这篇文章主要介绍了Android开发之菜单(menu)用法,结合实例形式较为详细的分析了Android菜单的实现步骤与相关操作技巧,需要的朋友可以参考下
    2017-03-03
  • 浅谈谈Android 图片选择器

    浅谈谈Android 图片选择器

    近段时间有项目要求写一个类似于微信发送图片时,用来选择照片的一个图片浏览器。相信有很多网友也有这样的需求,这里分享给大家
    2015-12-12
  • Android自定义View实现圆弧进度的效果

    Android自定义View实现圆弧进度的效果

    这篇文章主要为大家详细介绍了Android自定义View实现圆弧进度的效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • Flutter控件之实现Widget基类的封装

    Flutter控件之实现Widget基类的封装

    在实际的开发中,Widget的基类还是很有必要存在的,不然就会存在很多的冗余嵌套代码,本文为大家介绍了Flutter中基类是如何封装的,需要的可以收藏一下
    2023-05-05
  • Android  Surfaceview的绘制与应用

    Android Surfaceview的绘制与应用

    这篇文章主要介绍了Android Surfaceview的绘制与应用的相关资料,需要的朋友可以参考下
    2017-07-07
  • 浅谈Android Studio3.6 更新功能

    浅谈Android Studio3.6 更新功能

    这篇文章主要介绍了Android Studio3.6 更新功能的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Android进程保活之提升进程优先级

    Android进程保活之提升进程优先级

    这篇文章主要介绍了Android进程保活之提升进程优先级,对提升优先级感兴趣的同学可以参考下
    2021-04-04
  • Android 6.0动态权限及跳转GPS设置界面的方法

    Android 6.0动态权限及跳转GPS设置界面的方法

    今天小编就为大家分享一篇Android 6.0动态权限及跳转GPS设置界面的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • ExpandableListView实现手风琴效果

    ExpandableListView实现手风琴效果

    这篇文章主要为大家详细介绍了ExpandableListView实现手风琴效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • Android基础之获取LinearLayout的宽高

    Android基础之获取LinearLayout的宽高

    LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失。有的时候,我们需要想获取LinearLayout宽高,下面通过这篇文章来跟着小编一起学习学习吧。
    2016-11-11

最新评论