栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > Android

Android仿微信右上角点击加号弹出PopupWindow

Android 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android仿微信右上角点击加号弹出PopupWindow

本文实例为大家分享了Android仿微信右上角点击加号弹出展示的具体代码,供大家参考,具体内容如下

一、要弹出的布局,随便设计




  
  


二、自定义Popubwindow继承Popubwindow

public class PopWinShare extends PopupWindow {
  private View mainView;
  private TextView layoutShare, layoutCopy;

  public PopWinShare(Activity paramActivity, View.onClickListener paramOnClickListener, int paramInt1, int paramInt2) {
    super(paramActivity);
    //窗口布局
    mainView = LayoutInflater.from(paramActivity).inflate(R.layout.popwin_share, null);
    //分享布局
    layoutShare = ((TextView) mainView.findViewById(R.id.complain_tv));
    //复制布局
    layoutCopy = (TextView) mainView.findViewById(R.id.expect_tv);
    //设置每个子布局的事件监听器
    if (paramonClickListener != null) {
      layoutShare.setonClickListener(paramOnClickListener);
      layoutCopy.setonClickListener(paramOnClickListener);
    }
    setContentView(mainView);
    //设置宽度
    setWidth(paramInt1);
    //设置高度
    setHeight(paramInt2);
    //设置显示隐藏动画
    setAnimationStyle(R.style.AnimTools);
    //设置背景透明
    setBackgroundDrawable(new ColorDrawable(0));
  }

}

三、弹出动画样式


  @anim/push_in
  @anim/push_out

(1)新建anim文件新建push_in和push_out








四、使用

 if (popWinShare == null) {
   //自定义的单击事件
   onClickLintener paramonClickListener = new onClickLintener();
   popWinShare = new PopWinShare(PersonalHomepageActivity.this, paramOnClickListener, 120, 130);
   //监听窗口的焦点事件,点击窗口外面则取消显示
   popWinShare.getContentView().setonFocusChangeListener(new View.onFocusChangeListener() {

     @Override
     public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus) {
  popWinShare.dismiss();
}
     }
   });
 }
//设置默认获取焦点
 popWinShare.setFocusable(true);
//以某个控件的x和y的偏移量位置开始显示窗口
 popWinShare.showAsDropDown(tousuTv, 0, 0);
//如果窗口存在,则更新
 popWinShare.update();

(1)按钮的点击事件

class onClickLintener implements View.onClickListener {

  @Override
  public void onClick(View v) {
    switch (v.getId()) {
      case R.id.complain_tv:
 Intent intent = new Intent(PersonalHomepageActivity.this, ComplainActivity.class);
 intent.putExtra("about_user_id", friend_id);
 startActivity(intent);
 break;
      case R.id.expect_tv:
 getExpect();
 break;

      default:
 break;
    }

  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/156372.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号