本文实例为大家分享了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));  }}

三、弹出动画样式

(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;    }  }}

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

更多相关文章

  1. Android(安卓)底部导航栏BottomNavigationView的使用
  2. Android(安卓)Studio lint工具所提示的需要注意的内容简要记录
  3. Android(安卓)Touch 事件的分发和消费机制
  4. Android(安卓)WebView 中遇到的问题集锦
  5. android 开发技巧(7)--附加 Ken Burns 特效的幻灯片
  6. Android开发 常用控件罕见特殊属性集锦
  7. 【Android】AlertDialog与ListAdapter
  8. ListActivity的使用
  9. 【Android】通知的实现

随机推荐

  1. Android对Window对象的管理机制分析
  2. Android(安卓)图片缩放
  3. Android(安卓)ContentObserver ---拦截短
  4. Android(安卓)Bootloader - Main system
  5. android 8.0 wifi-host ap 开关操作
  6. Android的drawable文件夹的说明
  7. android获取系统时间
  8. Android(安卓)kotlin高级特性
  9. Qt5.2中的android环境搭建
  10. Android下免Root权限截屏