Android PopupWindows仿微信

虽然工作很忙,水平也不高,但是我总是喜欢总结点东西,这样才能进步
  今儿我实现的是PopupWindows的改装,实现的效果呢 如下
    
   
      
  看效果其实平平无奇,它的魅力在于里面功能强大,实用简单
  里面封装了好些个方法,其中比较重要的两个
  1:public void setAnimStyle(int mAnimStyle); 弹出时用什么动画效果,总共提供了五种
里面参数
        public static final int ANIM_GROW_FROM_LEFT = 1;//从左边弹出
        public static final int ANIM_GROW_FROM_RIGHT = 2;
        public static final int ANIM_GROW_FROM_CENTER = 3;
        public static final int ANIM_REFLECT = 4;//闪出
        public static final int ANIM_AUTO = 5;
 这个方法不用多说,源码将演示如何实用,重点是下个
2:public void setDeletePostion(int deletePostion)   //这个方法 这用来指定那个 item不显示,
为什么要这样呢?因为上面三个界面 我只加载了一次,只是在需要的时候让某个不加载而已

[java] view
plain
copyprint?

  1. <span style="font-size:18px;">  public static void showStatusQuickAction(final Context context, View v,  
  2.             int deletePostion) {  
  3.         QuickAction quickAction = new QuickAction(context,  
  4.                 QuickAction.HORIZONTAL);  
  5.         <span style="color:#ff0000;">quickAction.setDeletePostion(deletePostion);</span>  
  6.         quickAction.addActionItem(new ActionItem(ID_FIRST, context  
  7.                 .getString(R.string.status_chat), context.getResources()  
  8.                 .getDrawable(R.drawable.status_qme)));  
  9.         quickAction.addActionItem(new ActionItem(ID_SECOND, context  
  10.                 .getString(R.string.status_available), context.getResources()  
  11.                 .getDrawable(R.drawable.status_online)));  
  12.         quickAction.addActionItem(new ActionItem(ID_THIRDS, context  
  13.                 .getString(R.string.status_away), context.getResources()  
  14.                 .getDrawable(R.drawable.status_leave)));  
  15.         quickAction.show(v);  
  16.         quickAction.setAnimStyle(QuickAction.ANIM_GROW_FROM_CENTER);  
  17.         quickAction  
  18.                 .setOnActionItemClickListener(new OnActionItemClickListener() {  
  19.   
  20.                     @Override  
  21.                     public void onItemClick(QuickAction source, int pos,  
  22.                             int actionId) {  
  23.                         Intent intent = new Intent();  
  24.                         switch (pos) {  
  25.                         case ID_FIRST:  
  26.                             intent.setClass(context, Activity1.class);  
  27.                             break;  
  28.                         case ID_SECOND:  
  29.                             intent.setClass(context, Activity2.class);  
  30.                             break;  
  31.                         case ID_THIRDS:  
  32.                             intent.setClass(context, Activity3.class);  
  33.                             break;  
  34.                         default:  
  35.                             break;  
  36.                         }  
  37.                         context.startActivity(intent);  
  38.                     }  
  39.                 });  
  40.     }</span>  

这样调用的时候就如容易:
mBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Util.showStatusQuickAction(context, v, Util.ID_FIRST);
}
});
其中 Util.ID_FIRST(这里是第一页)就是要隐藏的页,也是当前是第一页,就不让第一页的 item 显示,因为没有意义,里面具体实现的原理,就不解释了,很好理解,下面附上源码。最后补充一点 这是我在一个大神的基础上改进而来
源码下载

时间: 2024-08-20 03:59:19

Android PopupWindows仿微信的相关文章

Android高仿微信图片选择功能的PhotoPicker

类似于微信修改头像的功能基本上每个app都会有,以前公司开发的项目就有修改头像的功能,但是用的Android系统自带的图片 选择器.用Android系统的图片选择器有个好处就是稳定,不会有什么问题.但也有它的缺点,比如不可定制,我们想要修改一下符合自己app的风格无法 做到. 既然大部分app都要用到图片选择器,为啥我不自己写一个呢?难不成每次都用系统自带的?那显得太没水平.所以,我就有了一个自己编写一个图片选择器的想法,以后只要有项目需要这个功能,直接拿来用就行了,这多爽! 其实github上

Android高仿微信表情输入与键盘输入详解_Android

       最近公司在项目上要使用到表情与键盘的切换输入,自己实现了一个,还是存在些缺陷,比如说键盘与表情切换时出现跳闪问题,这个相当困扰我,不过所幸在Github(其中一个不错的开源项目,其代码整体结构很不错)并且在论坛上找些解决方案,再加上我也是研究了好多个开源项目的代码,最后才苦逼地整合出比较不错的实现效果,可以说跟微信基本一样(嘿嘿,只能说目前还没发现大Bug,若发现大家一起日后慢慢完善,这里我也只是给出了实现方案,拓展其他表情我并没有实现哈,不过代码中我实现了一个可拓展的fragme

Android 高仿微信语音聊天页面高斯模糊(毛玻璃效果)_Android

目前的应用市场上,使用毛玻璃效果的APP随处可见,比如用过微信语音聊天的人可以发现,语音聊天页面就使用了高斯模糊效果. 先看下效果图:   仔细观察上图,我们可以发现,背景图以用户头像为模板,对其进行了高斯模糊,并把它作为整个页面的背景色. 关于Android如何快速实现高斯模糊(毛玻璃效果),网上一堆相关介绍,可参考下面文章一种快速毛玻璃虚化效果实现–Android. 下面直接给出模糊化工具类(已验证可行): import android.graphics.Bitmap; /** * 快速模糊

Android高仿微信聊天界面代码分享_Android

微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们来看一下整个小项目的主体结构: 下面是Activity的代码: package com.way.demo; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import jav

Android 高仿微信支付数字键盘功能_Android

现在很多app的支付.输入密码功能,都已经开始使用自定义数字键盘,不仅更加方便.其效果着实精致. 下面带着大家学习下,如何高仿微信的数字键盘,可以拿来直接用在自身的项目中. 先看下效果图: 1. 自定义布局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

Android 高仿微信语音聊天页面高斯模糊(毛玻璃效果)

目前的应用市场上,使用毛玻璃效果的APP随处可见,比如用过微信语音聊天的人可以发现,语音聊天页面就使用了高斯模糊效果. 先看下效果图: 仔细观察上图,我们可以发现,背景图以用户头像为模板,对其进行了高斯模糊,并把它作为整个页面的背景色. 关于Android如何快速实现高斯模糊(毛玻璃效果),网上一堆相关介绍,可参考下面文章一种快速毛玻璃虚化效果实现–Android. 下面直接给出模糊化工具类(已验证可行): import android.graphics.Bitmap; /** * 快速模糊化工

Android 高仿微信支付数字键盘功能

现在很多app的支付.输入密码功能,都已经开始使用自定义数字键盘,不仅更加方便.其效果着实精致. 下面带着大家学习下,如何高仿微信的数字键盘,可以拿来直接用在自身的项目中. 先看下效果图: 1. 自定义布局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

Android高仿微信聊天界面代码分享

微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们来看一下整个小项目的主体结构: 下面是Activity的代码: package com.way.demo; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import jav

Android 高仿微信朋友圈动态支持双击手势放大并滑动查看图片效果

最近参与了开发一款旅行APP,其中包含实时聊天和动态评论功能,终于耗时几个月几个伙伴完成了,今天就小结一下至于实时聊天功能如果用户不多的情况可以scoket实现,如果用户万级就可以采用开源的smack + opnefile实现,也可以用mina开源+XMMP,至于怎么搭建和实现,估计目前github上一搜一大把,至于即时通讯怕误人子弟,暂且不做介绍,现就把实现的一个微信朋友圈的小功能介绍一下. 先上效果图: 一拿到主流的UI需求,大致分析下,需要我ListView嵌套Gridview,而grid